This commit is contained in:
Clair Blacketer 2024-03-28 13:39:03 -04:00
parent 00bd05daac
commit f1d1c3a23d
1 changed files with 434 additions and 434 deletions

View File

@ -1,222 +1,222 @@
cdmTableName,cdmFieldName,isRequired,cdmDatatype,userGuidance,etlConventions,isPrimaryKey,isForeignKey,fkTableName,fkFieldName,fkDomain,fkClass,unique DQ identifiers cdmTableName,cdmFieldName,isRequired,cdmDatatype,userGuidance,etlConventions,isPrimaryKey,isForeignKey,fkTableName,fkFieldName,fkDomain,fkClass,unique DQ identifiers
person,person_id,Yes,bigint,It is assumed that every person with a different unique identifier is in fact a different person and should be treated independently.,"Any person linkage that needs to occur to uniquely identify Persons ought to be done prior to writing this table. This identifier can be the original id from the source data provided if it is an integer, otherwise it can be an autogenerated number.",Yes,No,NA,NA,NA,NA,NA person,person_id,Yes,bigint,It is assumed that every person with a different unique identifier is in fact a different person and should be treated independently.,"Any person linkage that needs to occur to uniquely identify Persons ought to be done prior to writing this table. This identifier can be the original id from the source data provided if it is an integer, otherwise it can be an autogenerated number.",Yes,No,NA,NA,NA,NA,NA
person,gender_concept_id,Yes,integer,This field is meant to capture the biological sex at birth of the Person. This field should not be used to study gender identity issues.,Use the gender or sex value present in the data under the assumption that it is the biological sex at birth. If the source data captures gender identity it should be stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table. [Accepted gender concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Gender,NA,NA person,gender_concept_id,Yes,integer,This field is meant to capture the biological sex at birth of the Person. This field should not be used to study gender identity issues.,Use the gender or sex value present in the data under the assumption that it is the biological sex at birth. If the source data captures gender identity it should be stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table. [Accepted gender concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Gender,NA,NA
person,year_of_birth,Yes,integer,Compute age using year_of_birth.,"For data sources with date of birth, the year should be extracted. For data sources where the year of birth is not available, the approximate year of birth could be derived based on age group categorization, if available.",No,No,NA,NA,NA,NA,NA person,year_of_birth,Yes,integer,Compute age using year_of_birth.,"For data sources with date of birth, the year should be extracted. For data sources where the year of birth is not available, the approximate year of birth could be derived based on age group categorization, if available.",No,No,NA,NA,NA,NA,NA
person,month_of_birth,No,integer,NA,"For data sources that provide the precise date of birth, the month should be extracted and stored in this field.",No,No,NA,NA,NA,NA,NA person,month_of_birth,No,integer,NA,"For data sources that provide the precise date of birth, the month should be extracted and stored in this field.",No,No,NA,NA,NA,NA,NA
person,day_of_birth,No,integer,NA,"For data sources that provide the precise date of birth, the day should be extracted and stored in this field.",No,No,NA,NA,NA,NA,NA person,day_of_birth,No,integer,NA,"For data sources that provide the precise date of birth, the day should be extracted and stored in this field.",No,No,NA,NA,NA,NA,NA
person,birth_datetime,No,datetime,NA,"This field is not required but highly encouraged. For data sources that provide the precise datetime of birth, that value should be stored in this field. If birth_datetime is not provided in the source, use the following logic to infer the date: If day_of_birth is null and month_of_birth is not null then use the first of the month in that year. If month_of_birth is null or if day_of_birth AND month_of_birth are both null and the person has records during their year of birth then use the date of the earliest record, otherwise use the 15th of June of that year. If time of birth is not given use midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA person,birth_datetime,No,datetime,NA,"This field is not required but highly encouraged. For data sources that provide the precise datetime of birth, that value should be stored in this field. If birth_datetime is not provided in the source, use the following logic to infer the date: If day_of_birth is null and month_of_birth is not null then use the first of the month in that year. If month_of_birth is null or if day_of_birth AND month_of_birth are both null and the person has records during their year of birth then use the date of the earliest record, otherwise use the 15th of June of that year. If time of birth is not given use midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA
person,death_datetime,No,datetime,"This field is the death date to be used in analysis, as determined by the ETL logic. Any additional information about a Person's death is stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table with the concept_id [4306655](https://athena.ohdsi.org/search-terms/terms/4306655) or in the CONDITION_OCCURRENCE .","If there are multiple dates of death given for a Person, choose the one that is deemed most reliable. This may be a discharge from the hospital where the Person is listed as deceased or it could be latest death date provided. If a patient has clinical activity more than 60 days after the death date given in the source, it is a viable option to drop the death record as it may have been falsely reported. Similarly, if the death record is from a reputable source (e.g. government provided information) it is also a viable option to remove event records that occur in the data > 60 days after death.",NA,NA,NA,NA,NA,NA,NA person,death_datetime,No,datetime,"This field is the death date to be used in analysis, as determined by the ETL logic. Any additional information about a Person's death is stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table with the concept_id [4306655](https://athena.ohdsi.org/search-terms/terms/4306655) or in the CONDITION_OCCURRENCE .","If there are multiple dates of death given for a Person, choose the one that is deemed most reliable. This may be a discharge from the hospital where the Person is listed as deceased or it could be latest death date provided. If a patient has clinical activity more than 60 days after the death date given in the source, it is a viable option to drop the death record as it may have been falsely reported. Similarly, if the death record is from a reputable source (e.g. government provided information) it is also a viable option to remove event records that occur in the data > 60 days after death.",NA,NA,NA,NA,NA,NA,NA
person,race_concept_id,Yes,integer,This field captures race or ethnic background of the person.,"Only use this field if you have information about race or ethnic background. The Vocabulary contains Concepts about the main races and ethnic backgrounds in a hierarchical system. Due to the imprecise nature of human races and ethnic backgrounds, this is not a perfect system. Mixed races are not supported. If a clear race or ethnic background cannot be established, use Concept_Id 0. [Accepted Race Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Race&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Race,NA,NA person,race_concept_id,Yes,integer,This field captures race or ethnic background of the person.,"Only use this field if you have information about race or ethnic background. The Vocabulary contains Concepts about the main races and ethnic backgrounds in a hierarchical system. Due to the imprecise nature of human races and ethnic backgrounds, this is not a perfect system. Mixed races are not supported. If a clear race or ethnic background cannot be established, use Concept_Id 0. [Accepted Race Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Race&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Race,NA,NA
person,ethnicity_concept_id,Yes,integer,"This field captures Ethnicity as defined by the Office of Management and Budget (OMB) of the US Government: it distinguishes only between ""Hispanic"" and ""Not Hispanic"". Races and ethnic backgrounds are not stored here.",Only use this field if you have US-based data and a source of this information. Do not attempt to infer Ethnicity from the race or ethnic background of the Person. [Accepted ethnicity concepts](http://athena.ohdsi.org/search-terms/terms?domain=Ethnicity&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Ethnicity,NA,NA person,ethnicity_concept_id,Yes,integer,"This field captures Ethnicity as defined by the Office of Management and Budget (OMB) of the US Government: it distinguishes only between ""Hispanic"" and ""Not Hispanic"". Races and ethnic backgrounds are not stored here.",Only use this field if you have US-based data and a source of this information. Do not attempt to infer Ethnicity from the race or ethnic background of the Person. [Accepted ethnicity concepts](http://athena.ohdsi.org/search-terms/terms?domain=Ethnicity&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,Ethnicity,NA,NA
person,location_id,No,bigint,The location refers to the physical address of the person. This field should capture the last known location of the person. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table.,"Put the location_id from the LOCATION table here that represents the most granular location information for the person. This could represent anything from postal code or parts thereof, state, or county for example. Since many databases contain deidentified data, it is common that the precision of the location is reduced to prevent re-identification. This field should capture the last known location. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table.",No,Yes,LOCATION,LOCATION_ID,NA,NA,NA person,location_id,No,bigint,The location refers to the physical address of the person. This field should capture the last known location of the person. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table.,"Put the location_id from the LOCATION table here that represents the most granular location information for the person. This could represent anything from postal code or parts thereof, state, or county for example. Since many databases contain deidentified data, it is common that the precision of the location is reduced to prevent re-identification. This field should capture the last known location. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table.",No,Yes,LOCATION,LOCATION_ID,NA,NA,NA
person,provider_id,No,bigint,The Provider refers to the last known primary care provider (General Practitioner).,"Put the provider_id from the PROVIDER table of the last known general practitioner of the person. If there are multiple providers, it is up to the ETL to decide which to put here.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA person,provider_id,No,bigint,The Provider refers to the last known primary care provider (General Practitioner).,"Put the provider_id from the PROVIDER table of the last known general practitioner of the person. If there are multiple providers, it is up to the ETL to decide which to put here.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
person,care_site_id,No,bigint,The Care Site refers to where the Provider typically provides the primary care.,NA,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA person,care_site_id,No,bigint,The Care Site refers to where the Provider typically provides the primary care.,NA,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA
person,person_source_value,No,varchar(50),Use this field to link back to persons in the source data. This is typically used for error checking of ETL logic.,Some use cases require the ability to link back to persons in the source data. This field allows for the storing of the person value as it appears in the source. This field is not required but strongly recommended.,No,No,NA,NA,NA,NA,NA person,person_source_value,No,varchar(50),Use this field to link back to persons in the source data. This is typically used for error checking of ETL logic.,Some use cases require the ability to link back to persons in the source data. This field allows for the storing of the person value as it appears in the source. This field is not required but strongly recommended.,No,No,NA,NA,NA,NA,NA
person,gender_source_value,No,varchar(50),This field is used to store the biological sex of the person from the source data. It is not intended for use in standard analytics but for reference only.,Put the biological sex of the person as it appears in the source data.,No,No,NA,NA,NA,NA,NA person,gender_source_value,No,varchar(50),This field is used to store the biological sex of the person from the source data. It is not intended for use in standard analytics but for reference only.,Put the biological sex of the person as it appears in the source data.,No,No,NA,NA,NA,NA,NA
person,gender_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes biological sex in a non-standard vocabulary, store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA person,gender_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes biological sex in a non-standard vocabulary, store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
person,race_source_value,No,varchar(50),This field is used to store the race of the person from the source data. It is not intended for use in standard analytics but for reference only.,Put the race of the person as it appears in the source data.,No,No,NA,NA,NA,NA,NA person,race_source_value,No,varchar(50),This field is used to store the race of the person from the source data. It is not intended for use in standard analytics but for reference only.,Put the race of the person as it appears in the source data.,No,No,NA,NA,NA,NA,NA
person,race_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes race in an OMOP supported vocabulary store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA person,race_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes race in an OMOP supported vocabulary store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
person,ethnicity_source_value,No,varchar(50),This field is used to store the ethnicity of the person from the source data. It is not intended for use in standard analytics but for reference only.,"If the person has an ethnicity other than the OMB standard of ""Hispanic"" or ""Not Hispanic"" store that value from the source data here.",No,No,NA,NA,NA,NA,NA person,ethnicity_source_value,No,varchar(50),This field is used to store the ethnicity of the person from the source data. It is not intended for use in standard analytics but for reference only.,"If the person has an ethnicity other than the OMB standard of ""Hispanic"" or ""Not Hispanic"" store that value from the source data here.",No,No,NA,NA,NA,NA,NA
person,ethnicity_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes ethnicity in an OMOP supported vocabulary, store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA person,ethnicity_source_concept_id,Yes,integer,"Due to the small number of options, this tends to be zero.","If the source data codes ethnicity in an OMOP supported vocabulary, store the concept_id here, otherwise set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation_period,observation_period_id,Yes,bigint,A Person can have multiple discrete Observation Periods which are identified by the Observation_Period_Id.,Assign a unique observation_period_id to each discrete Observation Period for a Person.,Yes,No,NA,NA,NA,NA,NA observation_period,observation_period_id,Yes,bigint,A Person can have multiple discrete Observation Periods which are identified by the Observation_Period_Id.,Assign a unique observation_period_id to each discrete Observation Period for a Person.,Yes,No,NA,NA,NA,NA,NA
observation_period,person_id,Yes,bigint,The Person ID of the PERSON record for which the Observation Period is recorded.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA observation_period,person_id,Yes,bigint,The Person ID of the PERSON record for which the Observation Period is recorded.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
observation_period,observation_period_start_date,Yes,date,Use this date to determine the start date of the Observation Period,"It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_start_date can be inferred as the earliest Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer. If a Person switches plans but stays with the same payer, and therefore capturing of data continues, that change would be captured in [PAYER_PLAN_PERIOD](https://ohdsi.github.io/CommonDataModel/cdm60.html#payer_plan_period).",No,No,NA,NA,NA,NA,NA observation_period,observation_period_start_date,Yes,date,Use this date to determine the start date of the Observation Period,"It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_start_date can be inferred as the earliest Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer. If a Person switches plans but stays with the same payer, and therefore capturing of data continues, that change would be captured in [PAYER_PLAN_PERIOD](https://ohdsi.github.io/CommonDataModel/cdm60.html#payer_plan_period).",No,No,NA,NA,NA,NA,NA
observation_period,observation_period_end_date,Yes,date,Use this date to determine the end date of the period for which we can assume that all events for a Person are recorded.,"It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_end_date can be inferred as the last Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer.",No,No,NA,NA,NA,NA,NA observation_period,observation_period_end_date,Yes,date,Use this date to determine the end date of the period for which we can assume that all events for a Person are recorded.,"It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_end_date can be inferred as the last Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer.",No,No,NA,NA,NA,NA,NA
observation_period,period_type_concept_id,Yes,Integer,"This field can be used to determine the provenance of the Observation Period as in whether the period was determined from an insurance enrollment file, EHR healthcare encounters, or other sources.",Choose the observation_period_type_concept_id that best represents how the period was determined. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA observation_period,period_type_concept_id,Yes,Integer,"This field can be used to determine the provenance of the Observation Period as in whether the period was determined from an insurance enrollment file, EHR healthcare encounters, or other sources.",Choose the observation_period_type_concept_id that best represents how the period was determined. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
visit_occurrence,visit_occurrence_id,Yes,bigint,Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit.,This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time.,Yes,No,NA,NA,NA,NA,NA visit_occurrence,visit_occurrence_id,Yes,bigint,Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit.,This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time.,Yes,No,NA,NA,NA,NA,NA
visit_occurrence,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA visit_occurrence,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
visit_occurrence,visit_concept_id,Yes,integer,"This field contains a concept id representing the kind of visit, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain.","Populate this field based on the kind of visit that took place for the person. For example this could be ""Inpatient Visit"", ""Outpatient Visit"", ""Ambulatory Visit"", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_occurrence,visit_concept_id,Yes,integer,"This field contains a concept id representing the kind of visit, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain.","Populate this field based on the kind of visit that took place for the person. For example this could be ""Inpatient Visit"", ""Outpatient Visit"", ""Ambulatory Visit"", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_occurrence,visit_start_date,No,date,"For inpatient visits, the start date is typically the admission date. For outpatient visits the start date and end date will be the same.","When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. In the case of an inpatient visit this should be the date the patient was admitted to the hospital or institution. In all other cases this should be the date of the patient-provider interaction.",No,No,NA,NA,NA,NA,NA visit_occurrence,visit_start_date,No,date,"For inpatient visits, the start date is typically the admission date. For outpatient visits the start date and end date will be the same.","When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. In the case of an inpatient visit this should be the date the patient was admitted to the hospital or institution. In all other cases this should be the date of the patient-provider interaction.",No,No,NA,NA,NA,NA,NA
visit_occurrence,visit_start_datetime,Yes,datetime,NA,"If no time is given for the start date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA visit_occurrence,visit_start_datetime,Yes,datetime,NA,"If no time is given for the start date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA
visit_occurrence,visit_end_date,No,date,For inpatient visits the end date is typically the discharge date.,"Visit end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them: visit_occurrence,visit_end_date,No,date,For inpatient visits the end date is typically the discharge date.,"Visit end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them:
Outpatient Visit: visit_end_datetime = visit_start_datetime Outpatient Visit: visit_end_datetime = visit_start_datetime
Emergency Room Visit: visit_end_datetime = visit_start_datetime Emergency Room Visit: visit_end_datetime = visit_start_datetime
Inpatient Visit: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs. Inpatient Visit: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs.
Non-hospital institution Visits: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs. Non-hospital institution Visits: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs.
For Inpatient Visits ongoing at the date of ETL, put date of processing the data into visit_end_datetime and visit_type_concept_id with 32220 ""Still patient"" to identify the visit as incomplete. For Inpatient Visits ongoing at the date of ETL, put date of processing the data into visit_end_datetime and visit_type_concept_id with 32220 ""Still patient"" to identify the visit as incomplete.
All other Visits: visit_end_datetime = visit_start_datetime. If this is a one-day visit the end date should match the start date.",No,No,NA,NA,NA,NA,NA All other Visits: visit_end_datetime = visit_start_datetime. If this is a one-day visit the end date should match the start date.",No,No,NA,NA,NA,NA,NA
visit_occurrence,visit_end_datetime,Yes,datetime,NA,"If no time is given for the end date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA visit_occurrence,visit_end_datetime,Yes,datetime,NA,"If no time is given for the end date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA
visit_occurrence,visit_type_concept_id,Yes,Integer,"Use this field to understand the provenance of the visit record, or where the record comes from.","Populate this field based on the provenance of the visit record, as in whether it came from an EHR record or billing claim.",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA visit_occurrence,visit_type_concept_id,Yes,Integer,"Use this field to understand the provenance of the visit record, or where the record comes from.","Populate this field based on the provenance of the visit record, as in whether it came from an EHR record or billing claim.",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
visit_occurrence,provider_id,No,bigint,"There will only be one provider per visit record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). If there are multiple providers associated with a visit in the source, this can be reflected in the event tables (CONDITION_OCCURRENCE, PROCEDURE_OCCURRENCE, etc.) or in the VISIT_DETAIL table.","If there are multiple providers associated with a visit, you will need to choose which one to put here. The additional providers can be stored in the visit_detail table.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA visit_occurrence,provider_id,No,bigint,"There will only be one provider per visit record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). If there are multiple providers associated with a visit in the source, this can be reflected in the event tables (CONDITION_OCCURRENCE, PROCEDURE_OCCURRENCE, etc.) or in the VISIT_DETAIL table.","If there are multiple providers associated with a visit, you will need to choose which one to put here. The additional providers can be stored in the visit_detail table.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
visit_occurrence,care_site_id,No,bigint,This field provides information about the care site where the visit took place.,There should only be one care site associated with a visit.,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA visit_occurrence,care_site_id,No,bigint,This field provides information about the care site where the visit took place.,There should only be one care site associated with a visit.,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA
visit_occurrence,visit_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the kind of visit that took place (inpatient, outpatient, emergency, etc.)","If there is information about the kind of visit in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the visit source value, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created.",No,No,NA,NA,NA,NA,NA visit_occurrence,visit_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the kind of visit that took place (inpatient, outpatient, emergency, etc.)","If there is information about the kind of visit in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the visit source value, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created.",No,No,NA,NA,NA,NA,NA
visit_occurrence,visit_source_concept_id,Yes,integer,NA,If the visit source value is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available set to 0.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA visit_occurrence,visit_source_concept_id,Yes,integer,NA,If the visit source value is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available set to 0.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
visit_occurrence,admitted_from_concept_id,Yes,integer,"Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example.","If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available set to 0.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_occurrence,admitted_from_concept_id,Yes,integer,"Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example.","If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available set to 0.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_occurrence,admitted_from_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits.",No,No,NA,NA,NA,NA,NA visit_occurrence,admitted_from_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits.",No,No,NA,NA,NA,NA,NA
visit_occurrence,discharge_to_concept_id,Yes,integer,"Use this field to determine where the patient was discharged to after a visit. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example.","If available, map the discharge_to_source_value to a standard concept in the visit domain. If not available set to 0.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_occurrence,discharge_to_concept_id,Yes,integer,"Use this field to determine where the patient was discharged to after a visit. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example.","If available, map the discharge_to_source_value to a standard concept in the visit domain. If not available set to 0.",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_occurrence,discharge_to_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more.",No,No,NA,NA,NA,NA,NA visit_occurrence,discharge_to_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more.",No,No,NA,NA,NA,NA,NA
visit_occurrence,preceding_visit_occurrence_id,No,bigint,Use this field to find the visit that occurred for the person prior to the given visit. There could be a few days or a few years in between.,"The preceding_visit_id can be used to link a visit immediately preceding the current visit. Note this is not symmetrical, and there is no such thing as a ""following_visit_id"".",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA visit_occurrence,preceding_visit_occurrence_id,No,bigint,Use this field to find the visit that occurred for the person prior to the given visit. There could be a few days or a few years in between.,"The preceding_visit_id can be used to link a visit immediately preceding the current visit. Note this is not symmetrical, and there is no such thing as a ""following_visit_id"".",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
visit_detail,visit_detail_id,Yes,bigint,Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail.,This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time.,Yes,No,NA,NA,NA,NA,NA visit_detail,visit_detail_id,Yes,bigint,Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail.,This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time.,Yes,No,NA,NA,NA,NA,NA
visit_detail,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA visit_detail,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
visit_detail,visit_detail_concept_id,Yes,integer,"This field contains a concept id representing the kind of visit detail, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain.","Populate this field based on the kind of visit that took place for the person. For example this could be ""Inpatient Visit"", ""Outpatient Visit"", ""Ambulatory Visit"", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_detail,visit_detail_concept_id,Yes,integer,"This field contains a concept id representing the kind of visit detail, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain.","Populate this field based on the kind of visit that took place for the person. For example this could be ""Inpatient Visit"", ""Outpatient Visit"", ""Ambulatory Visit"", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_detail,visit_detail_start_date,Yes,date,This is the date of the start of the encounter. This may or may not be equal to the date of the Visit the Visit Detail is associated with.,"When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. Most likely this should be the date of the patient-provider interaction.",No,No,NA,NA,NA,NA,NA visit_detail,visit_detail_start_date,Yes,date,This is the date of the start of the encounter. This may or may not be equal to the date of the Visit the Visit Detail is associated with.,"When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. Most likely this should be the date of the patient-provider interaction.",No,No,NA,NA,NA,NA,NA
visit_detail,visit_detail_start_datetime,No,datetime,NA,"If no time is given for the start date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA visit_detail,visit_detail_start_datetime,No,datetime,NA,"If no time is given for the start date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA
visit_detail,visit_detail_end_date,Yes,date,This the end date of the patient-provider interaction.,"Visit Detail end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them:<br> visit_detail,visit_detail_end_date,Yes,date,This the end date of the patient-provider interaction.,"Visit Detail end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them:<br>
- Outpatient Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime - Outpatient Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime
- Emergency Room Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime - Emergency Room Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime
- Inpatient Visit Detail: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs. - Inpatient Visit Detail: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs.
- Non-hospital institution Visit Details: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs.<br> - Non-hospital institution Visit Details: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs.<br>
For Inpatient Visit Details ongoing at the date of ETL, put date of processing the data into visit_detai_end_datetime and visit_detail_type_concept_id with 32220 ""Still patient"" to identify the visit as incomplete. For Inpatient Visit Details ongoing at the date of ETL, put date of processing the data into visit_detai_end_datetime and visit_detail_type_concept_id with 32220 ""Still patient"" to identify the visit as incomplete.
All other Visits Details: visit_detail_end_datetime = visit_detail_start_datetime.",No,No,NA,NA,NA,NA,NA All other Visits Details: visit_detail_end_datetime = visit_detail_start_datetime.",No,No,NA,NA,NA,NA,NA
visit_detail,visit_detail_end_datetime,No,datetime,NA,"If no time is given for the end date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA visit_detail,visit_detail_end_datetime,No,datetime,NA,"If no time is given for the end date of a visit, set it to midnight (00:00:0000).",No,No,NA,NA,NA,NA,NA
visit_detail,visit_detail_type_concept_id,Yes,Integer,"Use this field to understand the provenance of the visit detail record, or where the record comes from.","Populate this field based on the provenance of the visit detail record, as in whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA visit_detail,visit_detail_type_concept_id,Yes,Integer,"Use this field to understand the provenance of the visit detail record, or where the record comes from.","Populate this field based on the provenance of the visit detail record, as in whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
visit_detail,provider_id,No,bigint,"There will only be one provider per **visit** record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). This is a typical reason for leveraging the VISIT_DETAIL table as even though each VISIT_DETAIL record can only have one provider, there is no limit to the number of VISIT_DETAIL records that can be associated to a VISIT_OCCURRENCE record.",The additional providers associated to a Visit can be stored in this table where each VISIT_DETAIL record represents a different provider.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA visit_detail,provider_id,No,bigint,"There will only be one provider per **visit** record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). This is a typical reason for leveraging the VISIT_DETAIL table as even though each VISIT_DETAIL record can only have one provider, there is no limit to the number of VISIT_DETAIL records that can be associated to a VISIT_OCCURRENCE record.",The additional providers associated to a Visit can be stored in this table where each VISIT_DETAIL record represents a different provider.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
visit_detail,care_site_id,No,bigint,This field provides information about the Care Site where the Visit Detail took place.,There should only be one Care Site associated with a Visit Detail.,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA visit_detail,care_site_id,No,bigint,This field provides information about the Care Site where the Visit Detail took place.,There should only be one Care Site associated with a Visit Detail.,No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA
visit_detail,visit_detail_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the kind of visit detail that took place (inpatient, outpatient, emergency, etc.)","If there is information about the kind of visit detail in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the VISIT_DETAIL_SOURCE_VALUE, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created.",No,No,NA,NA,NA,NA,NA visit_detail,visit_detail_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the kind of visit detail that took place (inpatient, outpatient, emergency, etc.)","If there is information about the kind of visit detail in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the VISIT_DETAIL_SOURCE_VALUE, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created.",No,No,NA,NA,NA,NA,NA
visit_detail,visit_detail_source_concept_id,Yes,integer,NA,"If the VISIT_DETAIL_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, map to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA visit_detail,visit_detail_source_concept_id,Yes,integer,NA,"If the VISIT_DETAIL_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, map to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
visit_detail,admitted_from_concept_id,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits.",No,No,NA,NA,NA,NA,NA visit_detail,admitted_from_concept_id,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits.",No,No,NA,NA,NA,NA,NA
visit_detail,admitted_from_source_value,Yes,integer,"Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example.","If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available, map to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_detail,admitted_from_source_value,Yes,integer,"Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example.","If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available, map to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_detail,discharge_to_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more.",No,No,NA,NA,NA,NA,NA visit_detail,discharge_to_source_value,No,varchar(50),NA,"This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more.",No,No,NA,NA,NA,NA,NA
visit_detail,discharge_to_concept_id,Yes,integer,"Use this field to determine where the patient was discharged to after a visit detail record. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example.","If available, map the DISCHARGE_TO_SOURCE_VALUE to a Standard Concept in the Visit domain. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA visit_detail,discharge_to_concept_id,Yes,integer,"Use this field to determine where the patient was discharged to after a visit detail record. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example.","If available, map the DISCHARGE_TO_SOURCE_VALUE to a Standard Concept in the Visit domain. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Visit,NA,NA
visit_detail,preceding_visit_detail_id,No,bigint,Use this field to find the visit detail that occurred for the person prior to the given visit detail record. There could be a few days or a few years in between.,"The PRECEDING_VISIT_DETAIL_ID can be used to link a visit immediately preceding the current Visit Detail. Note this is not symmetrical, and there is no such thing as a ""following_visit_id"".",No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA visit_detail,preceding_visit_detail_id,No,bigint,Use this field to find the visit detail that occurred for the person prior to the given visit detail record. There could be a few days or a few years in between.,"The PRECEDING_VISIT_DETAIL_ID can be used to link a visit immediately preceding the current Visit Detail. Note this is not symmetrical, and there is no such thing as a ""following_visit_id"".",No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
visit_detail,visit_detail_parent_id,No,bigint,Use this field to find the visit detail that subsumes the given visit detail record. This is used in the case that a visit detail record needs to be nested beyond the VISIT_OCCURRENCE/VISIT_DETAIL relationship.,"If there are multiple nested levels to how Visits are represented in the source, the VISIT_DETAIL_PARENT_ID can be used to record this relationship.",No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA visit_detail,visit_detail_parent_id,No,bigint,Use this field to find the visit detail that subsumes the given visit detail record. This is used in the case that a visit detail record needs to be nested beyond the VISIT_OCCURRENCE/VISIT_DETAIL relationship.,"If there are multiple nested levels to how Visits are represented in the source, the VISIT_DETAIL_PARENT_ID can be used to record this relationship.",No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
visit_detail,visit_occurrence_id,Yes,bigint,Use this field to link the VISIT_DETAIL record to its VISIT_OCCURRENCE.,Put the VISIT_OCCURRENCE_ID that subsumes the VISIT_DETAIL record here.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA visit_detail,visit_occurrence_id,Yes,bigint,Use this field to link the VISIT_DETAIL record to its VISIT_OCCURRENCE.,Put the VISIT_OCCURRENCE_ID that subsumes the VISIT_DETAIL record here.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
condition_occurrence,condition_occurrence_id,Yes,bigint,The unique key given to a condition record for a person. Refer to the ETL for how duplicate conditions during the same visit were handled.,"Each instance of a condition present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same condition within the same visit. It is valid to keep these duplicates and assign them individual, unique, CONDITION_OCCURRENCE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA condition_occurrence,condition_occurrence_id,Yes,bigint,The unique key given to a condition record for a person. Refer to the ETL for how duplicate conditions during the same visit were handled.,"Each instance of a condition present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same condition within the same visit. It is valid to keep these duplicates and assign them individual, unique, CONDITION_OCCURRENCE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA
condition_occurrence,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the condition is recorded.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA condition_occurrence,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the condition is recorded.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
condition_occurrence,condition_concept_id,Yes,integer,"The CONDITION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a condition","The CONCEPT_ID that the CONDITION_SOURCE_VALUE maps to. Only records whose source values map to concepts with a domain of ""Condition"" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Condition,NA,NA condition_occurrence,condition_concept_id,Yes,integer,"The CONDITION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a condition","The CONCEPT_ID that the CONDITION_SOURCE_VALUE maps to. Only records whose source values map to concepts with a domain of ""Condition"" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Condition,NA,NA
condition_occurrence,condition_start_date,Yes,date,Use this date to determine the start date of the condition,"Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE.",No,No,NA,NA,NA,NA,NA condition_occurrence,condition_start_date,Yes,date,Use this date to determine the start date of the condition,"Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE.",No,No,NA,NA,NA,NA,NA
condition_occurrence,condition_start_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA condition_occurrence,condition_start_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA
condition_occurrence,condition_end_date,No,date,Use this date to determine the end date of the condition,"Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE.",No,No,NA,NA,NA,NA,NA condition_occurrence,condition_end_date,No,date,Use this date to determine the end date of the condition,"Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE.",No,No,NA,NA,NA,NA,NA
condition_occurrence,condition_end_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA condition_occurrence,condition_end_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA
condition_occurrence,condition_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Condition record, as in whether the condition was from an EHR system, insurance claim, registry, or other sources.",Choose the condition_type_concept_id that best represents the provenance of the record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA condition_occurrence,condition_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Condition record, as in whether the condition was from an EHR system, insurance claim, registry, or other sources.",Choose the condition_type_concept_id that best represents the provenance of the record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
condition_occurrence,condition_status_concept_id,Yes,integer,"This concept represents the point during the visit the diagnosis was given (admitting diagnosis, final diagnosis), whether the diagnosis was determined due to laboratory findings, if the diagnosis was exclusionary, or if it was a preliminary diagnosis, among others.","Choose the Concept in the Condition Status domain that best represents the point during the visit when the diagnosis was given. These can include admitting diagnosis, principal diagnosis, and secondary diagnosis. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition+Status&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA condition_occurrence,condition_status_concept_id,Yes,integer,"This concept represents the point during the visit the diagnosis was given (admitting diagnosis, final diagnosis), whether the diagnosis was determined due to laboratory findings, if the diagnosis was exclusionary, or if it was a preliminary diagnosis, among others.","Choose the Concept in the Condition Status domain that best represents the point during the visit when the diagnosis was given. These can include admitting diagnosis, principal diagnosis, and secondary diagnosis. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition+Status&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
condition_occurrence,stop_reason,No,varchar(20),The Stop Reason indicates why a Condition is no longer valid with respect to the purpose within the source data. Note that a Stop Reason does not necessarily imply that the condition is no longer occurring.,This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist.,No,No,NA,NA,NA,NA,NA condition_occurrence,stop_reason,No,varchar(20),The Stop Reason indicates why a Condition is no longer valid with respect to the purpose within the source data. Note that a Stop Reason does not necessarily imply that the condition is no longer occurring.,This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist.,No,No,NA,NA,NA,NA,NA
condition_occurrence,provider_id,No,bigint,"The provider associated with condition record, e.g. the provider who made the diagnosis or the provider who recorded the symptom.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA condition_occurrence,provider_id,No,bigint,"The provider associated with condition record, e.g. the provider who made the diagnosis or the provider who recorded the symptom.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
condition_occurrence,visit_occurrence_id,No,bigint,The visit during which the condition occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a CONDITION_START_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the CONDITION_OCCURRENCE record.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA condition_occurrence,visit_occurrence_id,No,bigint,The visit during which the condition occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a CONDITION_START_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the CONDITION_OCCURRENCE record.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
condition_occurrence,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the condition occurred. For example, if the person was in the ICU at the time of the diagnosis the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA condition_occurrence,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the condition occurred. For example, if the person was in the ICU at the time of the diagnosis the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
condition_occurrence,condition_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the condition that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA condition_occurrence,condition_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the condition that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
condition_occurrence,condition_source_concept_id,Yes,integer,"This is the concept representing the condition source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Condition necessary for a given analytic use case. Consider using CONDITION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the CONDITION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA condition_occurrence,condition_source_concept_id,Yes,integer,"This is the concept representing the condition source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Condition necessary for a given analytic use case. Consider using CONDITION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the CONDITION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
condition_occurrence,condition_status_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the condition status.,This information may be called something different in the source data but the field is meant to contain a value indicating when and how a diagnosis was given to a patient. This source value is mapped to a standard concept which is stored in the CONDITION_STATUS_CONCEPT_ID field.,No,No,NA,NA,NA,NA,NA condition_occurrence,condition_status_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the condition status.,This information may be called something different in the source data but the field is meant to contain a value indicating when and how a diagnosis was given to a patient. This source value is mapped to a standard concept which is stored in the CONDITION_STATUS_CONCEPT_ID field.,No,No,NA,NA,NA,NA,NA
drug_exposure,drug_exposure_id,Yes,bigint,The unique key given to records of drug dispensings or administrations for a person. Refer to the ETL for how duplicate drugs during the same visit were handled.,"Each instance of a drug dispensing or administration present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same drug within the same visit. It is valid to keep these duplicates and assign them individual, unique, DRUG_EXPOSURE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA drug_exposure,drug_exposure_id,Yes,bigint,The unique key given to records of drug dispensings or administrations for a person. Refer to the ETL for how duplicate drugs during the same visit were handled.,"Each instance of a drug dispensing or administration present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same drug within the same visit. It is valid to keep these duplicates and assign them individual, unique, DRUG_EXPOSURE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA
drug_exposure,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the drug dispensing or administration is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA drug_exposure,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the drug dispensing or administration is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
drug_exposure,drug_concept_id,Yes,integer,"The DRUG_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a drug product or molecule otherwise introduced to the body. The drug concepts can have a varying degree of information about drug strength and dose. This information is relevant in the context of quantity and administration information in the subsequent fields plus strength information from the DRUG_STRENGTH table, provided as part of the standard vocabulary download.","The CONCEPT_ID that the DRUG_SOURCE_VALUE maps to. The concept id should be derived either from mapping from the source concept id or by picking the drug concept representing the most amount of detail you have. Records whose source values map to standard concepts with a domain of Drug should go in this table. When the Drug Source Value of the code cannot be translated into Standard Drug Concept IDs, a Drug exposure entry is stored with only the corresponding SOURCE_CONCEPT_ID and DRUG_SOURCE_VALUE and a DRUG_CONCEPT_ID of 0. The Drug Concept with the most detailed content of information is preferred during the mapping process. These are indicated in the CONCEPT_CLASS_ID field of the Concept and are recorded in the following order of precedence: 'Branded Pack', 'Clinical Pack', 'Branded Drug', 'Clinical Drug', 'Branded Drug Component', 'Clinical Drug Component', 'Branded Drug Form', 'Clinical Drug Form', and only if no other information is available 'Ingredient'. Note: If only the drug class is known, the DRUG_CONCEPT_ID field should contain 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Drug&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Drug,NA,NA drug_exposure,drug_concept_id,Yes,integer,"The DRUG_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a drug product or molecule otherwise introduced to the body. The drug concepts can have a varying degree of information about drug strength and dose. This information is relevant in the context of quantity and administration information in the subsequent fields plus strength information from the DRUG_STRENGTH table, provided as part of the standard vocabulary download.","The CONCEPT_ID that the DRUG_SOURCE_VALUE maps to. The concept id should be derived either from mapping from the source concept id or by picking the drug concept representing the most amount of detail you have. Records whose source values map to standard concepts with a domain of Drug should go in this table. When the Drug Source Value of the code cannot be translated into Standard Drug Concept IDs, a Drug exposure entry is stored with only the corresponding SOURCE_CONCEPT_ID and DRUG_SOURCE_VALUE and a DRUG_CONCEPT_ID of 0. The Drug Concept with the most detailed content of information is preferred during the mapping process. These are indicated in the CONCEPT_CLASS_ID field of the Concept and are recorded in the following order of precedence: 'Branded Pack', 'Clinical Pack', 'Branded Drug', 'Clinical Drug', 'Branded Drug Component', 'Clinical Drug Component', 'Branded Drug Form', 'Clinical Drug Form', and only if no other information is available 'Ingredient'. Note: If only the drug class is known, the DRUG_CONCEPT_ID field should contain 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Drug&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Drug,NA,NA
drug_exposure,drug_exposure_start_date,Yes,date,Use this date to determine the start date of the drug record.,"Valid entries include a start date of a prescription, the date a prescription was filled, or the date on which a Drug administration was recorded. It is a valid ETL choice to use the date the drug was ordered as the DRUG_EXPOSURE_START_DATE.",No,No,NA,NA,NA,NA,NA drug_exposure,drug_exposure_start_date,Yes,date,Use this date to determine the start date of the drug record.,"Valid entries include a start date of a prescription, the date a prescription was filled, or the date on which a Drug administration was recorded. It is a valid ETL choice to use the date the drug was ordered as the DRUG_EXPOSURE_START_DATE.",No,No,NA,NA,NA,NA,NA
drug_exposure,drug_exposure_start_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA drug_exposure,drug_exposure_start_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA
drug_exposure,drug_exposure_end_date,Yes,date,The DRUG_EXPOSURE_END_DATE denotes the day the drug exposure ended for the patient.,"If this information is not explicitly available in the data, infer the end date using the following methods:/n/n 1. Start first with duration or days supply using the calculation drug start date + days supply -1 day. 2. Use quantity divided by daily dose that you may obtain from the sig or a source field (or assumed daily dose of 1) for solid, indivisibile, drug products. If quantity represents ingredient amount, quantity divided by daily dose * concentration (from drug_strength) drug concept id tells you the dose form. 3. If it is an administration record, set drug end date equal to drug start date. If the record is a written prescription then set end date to start date + 29. If the record is a mail-order prescription set end date to start date + 89. The end date must be equal to or greater than the start date. Ibuprofen 20mg/mL oral solution concept tells us this is oral solution. Calculate duration as quantity (200 example) * daily dose (5mL) /concentration (20mg/mL) 200*5/20 = 50 days. [Examples by dose form](https://ohdsi.github.io/CommonDataModel/drug_dose.html)",No,No,NA,NA,NA,NA,NA drug_exposure,drug_exposure_end_date,Yes,date,The DRUG_EXPOSURE_END_DATE denotes the day the drug exposure ended for the patient.,"If this information is not explicitly available in the data, infer the end date using the following methods:/n/n 1. Start first with duration or days supply using the calculation drug start date + days supply -1 day. 2. Use quantity divided by daily dose that you may obtain from the sig or a source field (or assumed daily dose of 1) for solid, indivisibile, drug products. If quantity represents ingredient amount, quantity divided by daily dose * concentration (from drug_strength) drug concept id tells you the dose form. 3. If it is an administration record, set drug end date equal to drug start date. If the record is a written prescription then set end date to start date + 29. If the record is a mail-order prescription set end date to start date + 89. The end date must be equal to or greater than the start date. Ibuprofen 20mg/mL oral solution concept tells us this is oral solution. Calculate duration as quantity (200 example) * daily dose (5mL) /concentration (20mg/mL) 200*5/20 = 50 days. [Examples by dose form](https://ohdsi.github.io/CommonDataModel/drug_dose.html)",No,No,NA,NA,NA,NA,NA
drug_exposure,drug_exposure_end_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA drug_exposure,drug_exposure_end_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA
drug_exposure,verbatim_end_date,No,date,"This is the end date of the drug exposure as it appears in the source data, if it is given",Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable.,No,No,NA,NA,NA,NA,NA drug_exposure,verbatim_end_date,No,date,"This is the end date of the drug exposure as it appears in the source data, if it is given",Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable.,No,No,NA,NA,NA,NA,NA
drug_exposure,drug_type_concept_id,Yes,integer,"You can use the TYPE_CONCEPT_ID to delineate between prescriptions written vs. prescriptions dispensed vs. medication history vs. patient-reported exposure, etc.","Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA drug_exposure,drug_type_concept_id,Yes,integer,"You can use the TYPE_CONCEPT_ID to delineate between prescriptions written vs. prescriptions dispensed vs. medication history vs. patient-reported exposure, etc.","Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
drug_exposure,stop_reason,No,varchar(20),"The reason a person stopped a medication as it is represented in the source. Reasons include regimen completed, changed, removed, etc. This field will be retired in v6.0.",This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist.,No,No,NA,NA,NA,NA,NA drug_exposure,stop_reason,No,varchar(20),"The reason a person stopped a medication as it is represented in the source. Reasons include regimen completed, changed, removed, etc. This field will be retired in v6.0.",This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist.,No,No,NA,NA,NA,NA,NA
drug_exposure,refills,No,integer,This is only filled in when the record is coming from a prescription written this field is meant to represent intended refills at time of the prescription.,NA,No,No,NA,NA,NA,NA,NA drug_exposure,refills,No,integer,This is only filled in when the record is coming from a prescription written this field is meant to represent intended refills at time of the prescription.,NA,No,No,NA,NA,NA,NA,NA
drug_exposure,quantity,No,float,NA,"To find the dose form of a drug the RELATIONSHIP table can be used where the relationship_id is 'Has dose form'. If liquid, quantity stands for the total amount dispensed or ordered of ingredient in the units given by the drug_strength table. If the unit from the source data does not align with the unit in the DRUG_STRENGTH table the quantity should be converted to the correct unit given in DRUG_STRENGTH. For clinical drugs with fixed dose forms (tablets etc.) the quantity is the number of units/tablets/capsules prescribed or dispensed (can be partial, but then only 1/2 or 1/3, not 0.01). Clinical drugs with divisible dose forms (injections) the quantity is the amount of ingredient the patient got. For example, if the injection is 2mg/mL but the patient got 80mL then quantity is reported as 160. drug_exposure,quantity,No,float,NA,"To find the dose form of a drug the RELATIONSHIP table can be used where the relationship_id is 'Has dose form'. If liquid, quantity stands for the total amount dispensed or ordered of ingredient in the units given by the drug_strength table. If the unit from the source data does not align with the unit in the DRUG_STRENGTH table the quantity should be converted to the correct unit given in DRUG_STRENGTH. For clinical drugs with fixed dose forms (tablets etc.) the quantity is the number of units/tablets/capsules prescribed or dispensed (can be partial, but then only 1/2 or 1/3, not 0.01). Clinical drugs with divisible dose forms (injections) the quantity is the amount of ingredient the patient got. For example, if the injection is 2mg/mL but the patient got 80mL then quantity is reported as 160.
Quantified clinical drugs with divisible dose forms (prefilled syringes), the quantity is the amount of ingredient similar to clinical drugs. Please see [how to calculate drug dose](https://ohdsi.github.io/CommonDataModel/drug_dose.html) for more information. Quantified clinical drugs with divisible dose forms (prefilled syringes), the quantity is the amount of ingredient similar to clinical drugs. Please see [how to calculate drug dose](https://ohdsi.github.io/CommonDataModel/drug_dose.html) for more information.
",No,No,NA,NA,NA,NA,NA ",No,No,NA,NA,NA,NA,NA
drug_exposure,days_supply,No,integer,"The number of days of supply of the medication as recorded in the original prescription or dispensing record. Days supply can differ from actual drug duration (i.e. prescribed days supply vs actual exposure).","The field should be left empty if the source data does not contain a verbatim days_supply, and should not be calculated from other fields. Negative values are not allowed. Several actions are possible: 1) record is not trustworthy and we remove the record entirely. 2) we trust the record and leave days_supply empty or 3) record needs to be combined with other record (e.g. reversal of prescription). High values (>365 days) should be investigated. If considered an error in the source data (e.g. typo), the value needs to be excluded to prevent creation of unrealistic long eras.",No,No,NA,NA,NA,NA,NA drug_exposure,days_supply,No,integer,The number of days of supply of the medication as recorded in the original prescription or dispensing record. Days supply can differ from actual drug duration (i.e. prescribed days supply vs actual exposure).,"The field should be left empty if the source data does not contain a verbatim days_supply, and should not be calculated from other fields. Negative values are not allowed. Several actions are possible: 1) record is not trustworthy and we remove the record entirely. 2) we trust the record and leave days_supply empty or 3) record needs to be combined with other record (e.g. reversal of prescription). High values (>365 days) should be investigated. If considered an error in the source data (e.g. typo), the value needs to be excluded to prevent creation of unrealistic long eras.",No,No,NA,NA,NA,NA,NA
drug_exposure,sig,No,varchar(MAX),This is the verbatim instruction for the drug as written by the provider.,"Put the written out instructions for the drug as it is verbatim in the source, if available.",No,No,NA,NA,NA,NA,NA drug_exposure,sig,No,varchar(MAX),This is the verbatim instruction for the drug as written by the provider.,"Put the written out instructions for the drug as it is verbatim in the source, if available.",No,No,NA,NA,NA,NA,NA
drug_exposure,route_concept_id,No,integer,NA,The standard CONCEPT_ID that the ROUTE_SOURCE_VALUE maps to in the route domain.,No,Yes,CONCEPT,CONCEPT_ID,Route,NA,NA drug_exposure,route_concept_id,No,integer,NA,The standard CONCEPT_ID that the ROUTE_SOURCE_VALUE maps to in the route domain.,No,Yes,CONCEPT,CONCEPT_ID,Route,NA,NA
drug_exposure,lot_number,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA drug_exposure,lot_number,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
drug_exposure,provider_id,No,bigint,"The Provider associated with drug record, e.g. the provider who wrote the prescription or the provider who administered the drug.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the ordering vs administering physician on an EHR record.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA drug_exposure,provider_id,No,bigint,"The Provider associated with drug record, e.g. the provider who wrote the prescription or the provider who administered the drug.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the ordering vs administering physician on an EHR record.",No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
drug_exposure,visit_occurrence_id,No,bigint,"The Visit during which the drug was prescribed, administered or dispensed.",To populate this field drug exposures must be explicitly initiated in the visit.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA drug_exposure,visit_occurrence_id,No,bigint,"The Visit during which the drug was prescribed, administered or dispensed.",To populate this field drug exposures must be explicitly initiated in the visit.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
drug_exposure,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the drug exposure occurred. For example, if the person was in the ICU at the time of the drug administration the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA drug_exposure,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the drug exposure occurred. For example, if the person was in the ICU at the time of the drug administration the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
drug_exposure,drug_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the drug exposure that occurred. For example, this could be an NDC or Gemscript code.",This code is mapped to a Standard Drug Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA drug_exposure,drug_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the drug exposure that occurred. For example, this could be an NDC or Gemscript code.",This code is mapped to a Standard Drug Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
drug_exposure,drug_source_concept_id,Yes,integer,"This is the concept representing the drug source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Drug necessary for a given analytic use case. Consider using DRUG_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the DRUG_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_exposure,drug_source_concept_id,Yes,integer,"This is the concept representing the drug source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Drug necessary for a given analytic use case. Consider using DRUG_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the DRUG_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_exposure,route_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the drug route.,This information may be called something different in the source data but the field is meant to contain a value indicating when and how a drug was given to a patient. This source value is mapped to a standard concept which is stored in the ROUTE_CONCEPT_ID field.,No,No,NA,NA,NA,NA,NA drug_exposure,route_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the drug route.,This information may be called something different in the source data but the field is meant to contain a value indicating when and how a drug was given to a patient. This source value is mapped to a standard concept which is stored in the ROUTE_CONCEPT_ID field.,No,No,NA,NA,NA,NA,NA
drug_exposure,dose_unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the dose unit of the drug given.,This information may be called something different in the source data but the field is meant to contain a value indicating the unit of dosage of drug given to the patient. This is an older column and will be deprecated in an upcoming version.,No,No,NA,NA,NA,NA,NA drug_exposure,dose_unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the dose unit of the drug given.,This information may be called something different in the source data but the field is meant to contain a value indicating the unit of dosage of drug given to the patient. This is an older column and will be deprecated in an upcoming version.,No,No,NA,NA,NA,NA,NA
procedure_occurrence,procedure_occurrence_id,Yes,bigint,The unique key given to a procedure record for a person. Refer to the ETL for how duplicate procedures during the same visit were handled.,"Each instance of a procedure occurrence in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same procedure within the same visit. It is valid to keep these duplicates and assign them individual, unique, PROCEDURE_OCCURRENCE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA procedure_occurrence,procedure_occurrence_id,Yes,bigint,The unique key given to a procedure record for a person. Refer to the ETL for how duplicate procedures during the same visit were handled.,"Each instance of a procedure occurrence in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same procedure within the same visit. It is valid to keep these duplicates and assign them individual, unique, PROCEDURE_OCCURRENCE_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA
procedure_occurrence,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the procedure is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA procedure_occurrence,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the procedure is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
procedure_occurrence,procedure_concept_id,Yes,integer,"The PROCEDURE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a procedure","The CONCEPT_ID that the PROCEDURE_SOURCE_VALUE maps to. Only records whose source values map to standard concepts with a domain of ""Procedure"" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Procedure&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Procedure,NA,NA procedure_occurrence,procedure_concept_id,Yes,integer,"The PROCEDURE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a procedure","The CONCEPT_ID that the PROCEDURE_SOURCE_VALUE maps to. Only records whose source values map to standard concepts with a domain of ""Procedure"" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Procedure&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Procedure,NA,NA
procedure_occurrence,procedure_date,No,date,Use this date to determine the date the procedure occurred.,"If a procedure lasts more than a day, then it should be recorded as a separate record for each day the procedure occurred, this logic is in lieu of the procedure_end_date, which will be added in a future version of the CDM.",No,No,NA,NA,NA,NA,NA procedure_occurrence,procedure_date,No,date,Use this date to determine the date the procedure occurred.,"If a procedure lasts more than a day, then it should be recorded as a separate record for each day the procedure occurred, this logic is in lieu of the procedure_end_date, which will be added in a future version of the CDM.",No,No,NA,NA,NA,NA,NA
procedure_occurrence,procedure_datetime,Yes,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA procedure_occurrence,procedure_datetime,Yes,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA
procedure_occurrence,procedure_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Procedure record, as in whether the procedure was from an EHR system, insurance claim, registry, or other sources.","Choose the PROCEDURE_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. If a procedure is recorded as an EHR encounter, the PROCEDURE_TYPE_CONCEPT would be 'EHR encounter record'. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA procedure_occurrence,procedure_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Procedure record, as in whether the procedure was from an EHR system, insurance claim, registry, or other sources.","Choose the PROCEDURE_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. If a procedure is recorded as an EHR encounter, the PROCEDURE_TYPE_CONCEPT would be 'EHR encounter record'. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
procedure_occurrence,modifier_concept_id,No,integer,The modifiers are intended to give additional information about the procedure but as of now the vocabulary is under review.,"It is up to the ETL to choose how to map modifiers if they exist in source data. These concepts are typically distinguished by 'Modifier' concept classes (e.g., 'CPT4 Modifier' as part of the 'CPT4' vocabulary). If there is more than one modifier on a record, one should be chosen that pertains to the procedure rather than provider. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?conceptClass=CPT4+Modifier&conceptClass=HCPCS+Modifier&vocabulary=CPT4&vocabulary=HCPCS&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA procedure_occurrence,modifier_concept_id,No,integer,The modifiers are intended to give additional information about the procedure but as of now the vocabulary is under review.,"It is up to the ETL to choose how to map modifiers if they exist in source data. These concepts are typically distinguished by 'Modifier' concept classes (e.g., 'CPT4 Modifier' as part of the 'CPT4' vocabulary). If there is more than one modifier on a record, one should be chosen that pertains to the procedure rather than provider. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?conceptClass=CPT4+Modifier&conceptClass=HCPCS+Modifier&vocabulary=CPT4&vocabulary=HCPCS&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
procedure_occurrence,quantity,No,integer,"If the quantity value is omitted, a single procedure is assumed.","If a Procedure has a quantity of '0' in the source, this should default to '1' in the ETL. If there is a record in the source it can be assumed the exposure occurred at least once",No,No,NA,NA,NA,NA,NA procedure_occurrence,quantity,No,integer,"If the quantity value is omitted, a single procedure is assumed.","If a Procedure has a quantity of '0' in the source, this should default to '1' in the ETL. If there is a record in the source it can be assumed the exposure occurred at least once",No,No,NA,NA,NA,NA,NA
procedure_occurrence,provider_id,No,bigint,"The provider associated with the procedure record, e.g. the provider who performed the Procedure.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record.",No,No,PROVIDER,PROVIDER_ID,NA,NA,NA procedure_occurrence,provider_id,No,bigint,"The provider associated with the procedure record, e.g. the provider who performed the Procedure.","The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record.",No,No,PROVIDER,PROVIDER_ID,NA,NA,NA
procedure_occurrence,visit_occurrence_id,No,bigint,The visit during which the procedure occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a PROCEDURE_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the PROCEDURE_OCCURRENCE record.",No,No,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA procedure_occurrence,visit_occurrence_id,No,bigint,The visit during which the procedure occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a PROCEDURE_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the PROCEDURE_OCCURRENCE record.",No,No,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
procedure_occurrence,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Procedure occurred. For example, if the Person was in the ICU at the time of the Procedure the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,No,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA procedure_occurrence,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Procedure occurred. For example, if the Person was in the ICU at the time of the Procedure the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,No,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
procedure_occurrence,procedure_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the procedure that occurred. For example, this could be an CPT4 or OPCS4 code.",Use this value to look up the source concept id and then map the source concept id to a standard concept id.,No,No,NA,NA,NA,NA,NA procedure_occurrence,procedure_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the procedure that occurred. For example, this could be an CPT4 or OPCS4 code.",Use this value to look up the source concept id and then map the source concept id to a standard concept id.,No,No,NA,NA,NA,NA,NA
procedure_occurrence,procedure_source_concept_id,Yes,integer,"This is the concept representing the procedure source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Procedure necessary for a given analytic use case. Consider using PROCEDURE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the PROCEDURE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,No,CONCEPT,CONCEPT_ID,NA,NA,NA procedure_occurrence,procedure_source_concept_id,Yes,integer,"This is the concept representing the procedure source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Procedure necessary for a given analytic use case. Consider using PROCEDURE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the PROCEDURE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,No,CONCEPT,CONCEPT_ID,NA,NA,NA
procedure_occurrence,modifier_source_value,No,varchar(50),NA,The original modifier code from the source is stored here for reference.,No,No,NA,NA,NA,NA,NA procedure_occurrence,modifier_source_value,No,varchar(50),NA,The original modifier code from the source is stored here for reference.,No,No,NA,NA,NA,NA,NA
device_exposure,device_exposure_id,Yes,bigint,The unique key given to records a person's exposure to a foreign physical object or instrument.,Each instance of an exposure to a foreign object or device present in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA device_exposure,device_exposure_id,Yes,bigint,The unique key given to records a person's exposure to a foreign physical object or instrument.,Each instance of an exposure to a foreign object or device present in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA
device_exposure,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA device_exposure,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
device_exposure,device_concept_id,Yes,integer,"The DEVICE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a foreign object or instrument the person was exposed to.",The CONCEPT_ID that the DEVICE_SOURCE_VALUE maps to.,No,Yes,CONCEPT,CONCEPT_ID,Device,NA,NA device_exposure,device_concept_id,Yes,integer,"The DEVICE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a foreign object or instrument the person was exposed to.",The CONCEPT_ID that the DEVICE_SOURCE_VALUE maps to.,No,Yes,CONCEPT,CONCEPT_ID,Device,NA,NA
device_exposure,device_exposure_start_date,Yes,date,Use this date to determine the start date of the device record.,"Valid entries include a start date of a procedure to implant a device, the date of a prescription for a device, or the date of device administration.",No,No,NA,NA,NA,NA,NA device_exposure,device_exposure_start_date,Yes,date,Use this date to determine the start date of the device record.,"Valid entries include a start date of a procedure to implant a device, the date of a prescription for a device, or the date of device administration.",No,No,NA,NA,NA,NA,NA
device_exposure,device_exposure_start_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA device_exposure,device_exposure_start_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA
device_exposure,device_exposure_end_date,No,date,"The DEVICE_EXPOSURE_END_DATE denotes the day the device exposure ended for the patient, if given.",Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable.,No,No,NA,NA,NA,NA,NA device_exposure,device_exposure_end_date,No,date,"The DEVICE_EXPOSURE_END_DATE denotes the day the device exposure ended for the patient, if given.",Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable.,No,No,NA,NA,NA,NA,NA
device_exposure,device_exposure_end_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA device_exposure,device_exposure_end_datetime,No,datetime,NA,If a source does not specify datetime the convention is to set the time to midnight (00:00:0000),No,No,NA,NA,NA,NA,NA
device_exposure,device_type_concept_id,Yes,integer,"You can use the TYPE_CONCEPT_ID to denote the provenance of the record, as in whether the record is from administrative claims or EHR. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).","Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug.",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA device_exposure,device_type_concept_id,Yes,integer,"You can use the TYPE_CONCEPT_ID to denote the provenance of the record, as in whether the record is from administrative claims or EHR. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).","Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug.",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
device_exposure,unique_device_id,No,varchar(50),"This is the Unique Device Identification number for devices regulated by the FDA, if given.","For medical devices that are regulated by the FDA, a Unique Device Identification (UDI) is provided if available in the data source and is recorded in the UNIQUE_DEVICE_ID field.",No,No,NA,NA,NA,NA,NA device_exposure,unique_device_id,No,varchar(50),"This is the Unique Device Identification number for devices regulated by the FDA, if given.","For medical devices that are regulated by the FDA, a Unique Device Identification (UDI) is provided if available in the data source and is recorded in the UNIQUE_DEVICE_ID field.",No,No,NA,NA,NA,NA,NA
device_exposure,quantity,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA device_exposure,quantity,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA
device_exposure,provider_id,No,bigint,"The Provider associated with device record, e.g. the provider who wrote the prescription or the provider who implanted the device.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA device_exposure,provider_id,No,bigint,"The Provider associated with device record, e.g. the provider who wrote the prescription or the provider who implanted the device.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
device_exposure,visit_occurrence_id,No,bigint,The Visit during which the device was prescribed or given.,To populate this field device exposures must be explicitly initiated in the visit.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA device_exposure,visit_occurrence_id,No,bigint,The Visit during which the device was prescribed or given.,To populate this field device exposures must be explicitly initiated in the visit.,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
device_exposure,visit_detail_id,No,bigint,The Visit Detail during which the device was prescribed or given.,To populate this field device exposures must be explicitly initiated in the visit detail record.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA device_exposure,visit_detail_id,No,bigint,The Visit Detail during which the device was prescribed or given.,To populate this field device exposures must be explicitly initiated in the visit detail record.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
device_exposure,device_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the device exposure that occurred. For example, this could be an NDC or Gemscript code.",This code is mapped to a Standard Device Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA device_exposure,device_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the device exposure that occurred. For example, this could be an NDC or Gemscript code.",This code is mapped to a Standard Device Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
device_exposure,device_source_concept_id,Yes,integer,"This is the concept representing the device source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Device necessary for a given analytic use case. Consider using DEVICE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the DEVICE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA device_exposure,device_source_concept_id,Yes,integer,"This is the concept representing the device source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Device necessary for a given analytic use case. Consider using DEVICE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the DEVICE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
measurement,measurement_id,Yes,bigint,The unique key given to a Measurement record for a Person. Refer to the ETL for how duplicate Measurements during the same Visit were handled.,"Each instance of a measurement present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same measurement within the same visit. It is valid to keep these duplicates and assign them individual, unique, MEASUREMENT_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA measurement,measurement_id,Yes,bigint,The unique key given to a Measurement record for a Person. Refer to the ETL for how duplicate Measurements during the same Visit were handled.,"Each instance of a measurement present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same measurement within the same visit. It is valid to keep these duplicates and assign them individual, unique, MEASUREMENT_IDs, though it is up to the ETL how they should be handled.",Yes,No,NA,NA,NA,NA,NA
measurement,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the measurement is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA measurement,person_id,Yes,bigint,The PERSON_ID of the PERSON for whom the measurement is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
measurement,measurement_concept_id,Yes,integer,"The MEASUREMENT_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies.","The CONCEPT_ID that the MEASUREMENT_SOURCE_CONCEPT_ID maps to. Only records whose SOURCE_CONCEPT_IDs map to Standard Concepts with a domain of ""Measurement"" should go in this table.",No,Yes,CONCEPT,CONCEPT_ID,Measurement,NA,NA measurement,measurement_concept_id,Yes,integer,"The MEASUREMENT_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies.","The CONCEPT_ID that the MEASUREMENT_SOURCE_CONCEPT_ID maps to. Only records whose SOURCE_CONCEPT_IDs map to Standard Concepts with a domain of ""Measurement"" should go in this table.",No,Yes,CONCEPT,CONCEPT_ID,Measurement,NA,NA
measurement,measurement_date,Yes,date,Use this date to determine the date of the measurement.,"If there are multiple dates in the source data associated with a record such as order_date, draw_date, and result_date, choose the one that is closest to the date the sample was drawn from the patient.",No,No,NA,NA,NA,NA,NA measurement,measurement_date,Yes,date,Use this date to determine the date of the measurement.,"If there are multiple dates in the source data associated with a record such as order_date, draw_date, and result_date, choose the one that is closest to the date the sample was drawn from the patient.",No,No,NA,NA,NA,NA,NA
measurement,measurement_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA measurement,measurement_datetime,No,datetime,NA,"This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000)",No,No,NA,NA,NA,NA,NA
measurement,measurement_time,No,varchar(10),NA,This is present for backwards compatibility and will be deprecated in an upcoming version.,No,No,NA,NA,NA,NA,NA measurement,measurement_time,No,varchar(10),NA,This is present for backwards compatibility and will be deprecated in an upcoming version.,No,No,NA,NA,NA,NA,NA
measurement,measurement_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Measurement record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources.","Choose the MEASUREMENT_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA measurement,measurement_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Measurement record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources.","Choose the MEASUREMENT_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
measurement,operator_concept_id,No,integer,"The meaning of Concept [4172703](https://athena.ohdsi.org/search-terms/terms/4172703) for '=' is identical to omission of a OPERATOR_CONCEPT_ID value. Since the use of this field is rare, it's important when devising analyses to not to forget testing for the content of this field for values different from =.","Operators are <, <=, =, >=, > and these concepts belong to the 'Meas Value Operator' domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Meas+Value+Operator&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA measurement,operator_concept_id,No,integer,"The meaning of Concept [4172703](https://athena.ohdsi.org/search-terms/terms/4172703) for '=' is identical to omission of a OPERATOR_CONCEPT_ID value. Since the use of this field is rare, it's important when devising analyses to not to forget testing for the content of this field for values different from =.","Operators are <, <=, =, >=, > and these concepts belong to the 'Meas Value Operator' domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Meas+Value+Operator&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
measurement,value_as_number,No,float,"This is the numerical value of the Result of the Measurement, if available. Note that measurements such as blood pressures will be split into their component parts i.e. one record for systolic, one record for diastolic.","If there is a negative value coming from the source, set the VALUE_AS_NUMBER to NULL, with the exception of the following Measurements (listed as LOINC codes):<br>- [1925-7](https://athena.ohdsi.org/search-terms/terms/3003396) Base excess in Arterial blood by calculation - [1927-3](https://athena.ohdsi.org/search-terms/terms/3002032) Base excess in Venous blood by calculation - [8632-2](https://athena.ohdsi.org/search-terms/terms/3006277) QRS-Axis - [11555-0](https://athena.ohdsi.org/search-terms/terms/3012501) Base excess in Blood by calculation - [1926-5](https://athena.ohdsi.org/search-terms/terms/3003129) Base excess in Capillary blood by calculation - [28638-5](https://athena.ohdsi.org/search-terms/terms/3004959) Base excess in Arterial cord blood by calculation [28639-3](https://athena.ohdsi.org/search-terms/terms/3007435) Base excess in Venous cord blood by calculation",No,No,NA,NA,NA,NA,NA measurement,value_as_number,No,float,"This is the numerical value of the Result of the Measurement, if available. Note that measurements such as blood pressures will be split into their component parts i.e. one record for systolic, one record for diastolic.","If there is a negative value coming from the source, set the VALUE_AS_NUMBER to NULL, with the exception of the following Measurements (listed as LOINC codes):<br>- [1925-7](https://athena.ohdsi.org/search-terms/terms/3003396) Base excess in Arterial blood by calculation - [1927-3](https://athena.ohdsi.org/search-terms/terms/3002032) Base excess in Venous blood by calculation - [8632-2](https://athena.ohdsi.org/search-terms/terms/3006277) QRS-Axis - [11555-0](https://athena.ohdsi.org/search-terms/terms/3012501) Base excess in Blood by calculation - [1926-5](https://athena.ohdsi.org/search-terms/terms/3003129) Base excess in Capillary blood by calculation - [28638-5](https://athena.ohdsi.org/search-terms/terms/3004959) Base excess in Arterial cord blood by calculation [28639-3](https://athena.ohdsi.org/search-terms/terms/3007435) Base excess in Venous cord blood by calculation",No,No,NA,NA,NA,NA,NA
measurement,value_as_concept_id,No,integer,If the raw data gives a categorial result for measurements those values are captured and mapped to standard concepts in the 'Meas Value' domain.,"If the raw data provides categorial results as well as continuous results for measurements, it is a valid ETL choice to preserve both values. The continuous value should go in the VALUE_AS_NUMBER field and the categorical value should be mapped to a standard concept in the 'Meas Value' domain and put in the VALUE_AS_CONCEPT_ID field. This is also the destination for the 'Maps to value' relationship.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA measurement,value_as_concept_id,No,integer,If the raw data gives a categorial result for measurements those values are captured and mapped to standard concepts in the 'Meas Value' domain.,"If the raw data provides categorial results as well as continuous results for measurements, it is a valid ETL choice to preserve both values. The continuous value should go in the VALUE_AS_NUMBER field and the categorical value should be mapped to a standard concept in the 'Meas Value' domain and put in the VALUE_AS_CONCEPT_ID field. This is also the destination for the 'Maps to value' relationship.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
measurement,unit_concept_id,No,integer,"There is currently no recommended unit for individual measurements, i.e. it is not mandatory to represent Hemoglobin a1C measurements as a percentage. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data.","There is no standardization requirement for units associated with MEASUREMENT_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit.",No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA measurement,unit_concept_id,No,integer,"There is currently no recommended unit for individual measurements, i.e. it is not mandatory to represent Hemoglobin a1C measurements as a percentage. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data.","There is no standardization requirement for units associated with MEASUREMENT_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit.",No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA
measurement,range_low,No,float,Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given.,If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided.,No,No,NA,NA,NA,NA,NA measurement,range_low,No,float,Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given.,If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided.,No,No,NA,NA,NA,NA,NA
measurement,range_high,No,float,Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given.,If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided.,No,No,NA,NA,NA,NA,NA measurement,range_high,No,float,Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given.,If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided.,No,No,NA,NA,NA,NA,NA
measurement,provider_id,No,bigint,"The provider associated with measurement record, e.g. the provider who ordered the test or the provider who recorded the result.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA measurement,provider_id,No,bigint,"The provider associated with measurement record, e.g. the provider who ordered the test or the provider who recorded the result.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
measurement,visit_occurrence_id,No,bigint,The visit during which the Measurement occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a MEASUREMENT_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the measurement record. If a measurement is related to a visit explicitly in the source data, it is possible that the result date of the Measurement falls outside of the bounds of the Visit dates.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA measurement,visit_occurrence_id,No,bigint,The visit during which the Measurement occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If a MEASUREMENT_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the measurement record. If a measurement is related to a visit explicitly in the source data, it is possible that the result date of the Measurement falls outside of the bounds of the Visit dates.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
measurement,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Measurement occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA measurement,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Measurement occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
measurement,measurement_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the Measurement that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Measurement Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA measurement,measurement_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the Measurement that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Measurement Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
measurement,measurement_source_concept_id,Yes,integer,"This is the concept representing the MEASUREMENT_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Measurement necessary for a given analytic use case. Consider using MEASUREMENT_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the MEASUREMENT_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA measurement,measurement_source_concept_id,Yes,integer,"This is the concept representing the MEASUREMENT_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Measurement necessary for a given analytic use case. Consider using MEASUREMENT_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the MEASUREMENT_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
measurement,unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the unit of the Measurement that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA measurement,unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the unit of the Measurement that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
measurement,value_source_value,No,varchar(50),This field houses the verbatim result value of the Measurement from the source data .,"If both a continuous and categorical result are given in the source data such that both VALUE_AS_NUMBER and VALUE_AS_CONCEPT_ID are both included, store the verbatim value that was mapped to VALUE_AS_CONCEPT_ID here.",No,No,NA,NA,NA,NA,NA measurement,value_source_value,No,varchar(50),This field houses the verbatim result value of the Measurement from the source data .,"If both a continuous and categorical result are given in the source data such that both VALUE_AS_NUMBER and VALUE_AS_CONCEPT_ID are both included, store the verbatim value that was mapped to VALUE_AS_CONCEPT_ID here.",No,No,NA,NA,NA,NA,NA
observation,observation_id,Yes,bigint,The unique key given to an Observation record for a Person. Refer to the ETL for how duplicate Observations during the same Visit were handled.,Each instance of an observation present in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA observation,observation_id,Yes,bigint,The unique key given to an Observation record for a Person. Refer to the ETL for how duplicate Observations during the same Visit were handled.,Each instance of an observation present in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA
observation,person_id,Yes,bigint,The PERSON_ID of the Person for whom the Observation is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA observation,person_id,Yes,bigint,The PERSON_ID of the Person for whom the Observation is recorded. This may be a system generated code.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
observation,observation_concept_id,Yes,integer,"The OBSERVATION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies.","The CONCEPT_ID that the OBSERVATION_SOURCE_CONCEPT_ID maps to. There is no specified domain that the Concepts in this table must adhere to. The only rule is that records with Concepts in the Condition, Procedure, Drug, Measurement, or Device domains MUST go to the corresponding table.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA observation,observation_concept_id,Yes,integer,"The OBSERVATION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies.","The CONCEPT_ID that the OBSERVATION_SOURCE_CONCEPT_ID maps to. There is no specified domain that the Concepts in this table must adhere to. The only rule is that records with Concepts in the Condition, Procedure, Drug, Measurement, or Device domains MUST go to the corresponding table.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation,observation_date,No,date,"The date of the Observation. Depending on what the Observation represents this could be the date of a lab test, the date of a survey, or the date a patient's family history was taken.",For some observations the ETL may need to make a choice as to which date to choose.,No,No,NA,NA,NA,NA,NA observation,observation_date,No,date,"The date of the Observation. Depending on what the Observation represents this could be the date of a lab test, the date of a survey, or the date a patient's family history was taken.",For some observations the ETL may need to make a choice as to which date to choose.,No,No,NA,NA,NA,NA,NA
observation,observation_datetime,Yes,datetime,NA,If no time is given set to midnight (00:00:00).,No,No,NA,NA,NA,NA,NA observation,observation_datetime,Yes,datetime,NA,If no time is given set to midnight (00:00:00).,No,No,NA,NA,NA,NA,NA
observation,observation_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Observation record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources.","Choose the OBSERVATION_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA observation,observation_type_concept_id,Yes,integer,"This field can be used to determine the provenance of the Observation record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources.","Choose the OBSERVATION_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
observation,value_as_number,No,float,"This is the numerical value of the Result of the Observation, if applicable and available. It is not expected that all Observations will have numeric results, rather, this field is here to house values should they exist.",NA,No,No,NA,NA,NA,NA,NA observation,value_as_number,No,float,"This is the numerical value of the Result of the Observation, if applicable and available. It is not expected that all Observations will have numeric results, rather, this field is here to house values should they exist.",NA,No,No,NA,NA,NA,NA,NA
observation,value_as_string,No,varchar(60),"This is the categorical value of the Result of the Observation, if applicable and available.",NA,No,No,NA,NA,NA,NA,NA observation,value_as_string,No,varchar(60),"This is the categorical value of the Result of the Observation, if applicable and available.",NA,No,No,NA,NA,NA,NA,NA
observation,value_as_concept_id,No,Integer,"It is possible that some records destined for the Observation table have two clinical ideas represented in one source code. This is common with ICD10 codes that describe a family history of some Condition, for example. In OMOP the Vocabulary breaks these two clinical ideas into two codes; one becomes the OBSERVATION_CONCEPT_ID and the other becomes the VALUE_AS_CONCEPT_ID. It is important when using the Observation table to keep this possibility in mind and to examine the VALUE_AS_CONCEPT_ID field for relevant information.","Note that the value of VALUE_AS_CONCEPT_ID may be provided through mapping from a source Concept which contains the content of the Observation. In those situations, the CONCEPT_RELATIONSHIP table in addition to the 'Maps to' record contains a second record with the relationship_id set to 'Maps to value'. For example, ICD10 [Z82.4](https://athena.ohdsi.org/search-terms/terms/45581076) 'Family history of ischaemic heart disease and other diseases of the circulatory system' has a 'Maps to' relationship to [4167217](https://athena.ohdsi.org/search-terms/terms/4167217) 'Family history of clinical finding' as well as a 'Maps to value' record to [134057](https://athena.ohdsi.org/search-terms/terms/134057) 'Disorder of cardiovascular system'.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA observation,value_as_concept_id,No,Integer,"It is possible that some records destined for the Observation table have two clinical ideas represented in one source code. This is common with ICD10 codes that describe a family history of some Condition, for example. In OMOP the Vocabulary breaks these two clinical ideas into two codes; one becomes the OBSERVATION_CONCEPT_ID and the other becomes the VALUE_AS_CONCEPT_ID. It is important when using the Observation table to keep this possibility in mind and to examine the VALUE_AS_CONCEPT_ID field for relevant information.","Note that the value of VALUE_AS_CONCEPT_ID may be provided through mapping from a source Concept which contains the content of the Observation. In those situations, the CONCEPT_RELATIONSHIP table in addition to the 'Maps to' record contains a second record with the relationship_id set to 'Maps to value'. For example, ICD10 [Z82.4](https://athena.ohdsi.org/search-terms/terms/45581076) 'Family history of ischaemic heart disease and other diseases of the circulatory system' has a 'Maps to' relationship to [4167217](https://athena.ohdsi.org/search-terms/terms/4167217) 'Family history of clinical finding' as well as a 'Maps to value' record to [134057](https://athena.ohdsi.org/search-terms/terms/134057) 'Disorder of cardiovascular system'.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation,qualifier_concept_id,No,integer,"This field contains all attributes specifying the clinical fact further, such as as degrees, severities, drug-drug interaction alerts etc.","Use your best judgement as to what Concepts to use here and if they are necessary to accurately represent the clinical record. There is no restriction on the domain of these Concepts, they just need to be Standard.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA observation,qualifier_concept_id,No,integer,"This field contains all attributes specifying the clinical fact further, such as as degrees, severities, drug-drug interaction alerts etc.","Use your best judgement as to what Concepts to use here and if they are necessary to accurately represent the clinical record. There is no restriction on the domain of these Concepts, they just need to be Standard.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation,unit_concept_id,No,integer,There is currently no recommended unit for individual observation concepts. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data.,"There is no standardization requirement for units associated with OBSERVATION_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit.",No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA observation,unit_concept_id,No,integer,There is currently no recommended unit for individual observation concepts. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data.,"There is no standardization requirement for units associated with OBSERVATION_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit.",No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA
observation,provider_id,No,bigint,"The provider associated with the observation record, e.g. the provider who ordered the test or the provider who recorded the result.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA observation,provider_id,No,bigint,"The provider associated with the observation record, e.g. the provider who ordered the test or the provider who recorded the result.",The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
observation,visit_occurrence_id,No,bigint,The visit during which the Observation occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If an OBSERVATION_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the observation record. If an observation is related to a visit explicitly in the source data, it is possible that the result date of the Observation falls outside of the bounds of the Visit dates.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA observation,visit_occurrence_id,No,bigint,The visit during which the Observation occurred.,"Depending on the structure of the source data, this may have to be determined based on dates. If an OBSERVATION_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the observation record. If an observation is related to a visit explicitly in the source data, it is possible that the result date of the Observation falls outside of the bounds of the Visit dates.",No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
observation,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Observation occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA observation,visit_detail_id,No,bigint,"The VISIT_DETAIL record during which the Observation occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit.",Same rules apply as for the VISIT_OCCURRENCE_ID.,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
observation,observation_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the Observation that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA observation,observation_source_value,No,varchar(50),"This field houses the verbatim value from the source data representing the Observation that occurred. For example, this could be an ICD10 or Read code.",This code is mapped to a Standard Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
observation,observation_source_concept_id,Yes,integer,"This is the concept representing the OBSERVATION_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Observation necessary for a given analytic use case. Consider using OBSERVATION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the OBSERVATION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA observation,observation_source_concept_id,Yes,integer,"This is the concept representing the OBSERVATION_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Observation necessary for a given analytic use case. Consider using OBSERVATION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network.","If the OBSERVATION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation,unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the unit of the Observation that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA observation,unit_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the unit of the Observation that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
observation,qualifier_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the qualifier of the Observation that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA observation,qualifier_source_value,No,varchar(50),This field houses the verbatim value from the source data representing the qualifier of the Observation that occurred.,This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference.,No,No,NA,NA,NA,NA,NA
observation,observation_event_id,No,bigint,"If the Observation record is related to another record in the database, this field is the primary key of the linked record.","Put the primary key of the linked record, if applicable, here. See the [ETL Conventions for the OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table for more details.",No,No,NA,NA,NA,NA,NA observation,observation_event_id,No,bigint,"If the Observation record is related to another record in the database, this field is the primary key of the linked record.","Put the primary key of the linked record, if applicable, here. See the [ETL Conventions for the OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table for more details.",No,No,NA,NA,NA,NA,NA
observation,obs_event_field_concept_id,No,integer,"If the Observation record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from.",Put the CONCEPT_ID that identifies which table and field the OBSERVATION_EVENT_ID came from.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA observation,obs_event_field_concept_id,No,integer,"If the Observation record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from.",Put the CONCEPT_ID that identifies which table and field the OBSERVATION_EVENT_ID came from.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
observation,value_as_datetime,No,datetime,It is possible that some Observation records might store a result as a date value.,NA,No,No,NA,NA,NA,NA,NA observation,value_as_datetime,No,datetime,It is possible that some Observation records might store a result as a date value.,NA,No,No,NA,NA,NA,NA,NA
death,person_id,No,bigint,NA,NA,No,No,NA,NA,NA,NA,NA death,person_id,No,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_date,No,date,NA,NA,No,No,NA,NA,NA,NA,NA death,death_date,No,date,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA death,death_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA
death,death_type_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA death,death_type_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
death,cause_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA death,cause_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
death,cause_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA death,cause_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
death,cause_source_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA death,cause_source_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note,note_id,Yes,integer,A unique identifier for each note.,NA,Yes,No,NA,NA,NA,NA,NA note,note_id,Yes,integer,A unique identifier for each note.,NA,Yes,No,NA,NA,NA,NA,NA
note,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA note,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
note,note_event_id,No,bigint,NA,NA,No,No,NA,NA,NA,NA,NA note,note_event_id,No,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
note,note_event_field_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note,note_event_field_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note,note_date,Yes,date,The date the note was recorded.,NA,No,No,NA,NA,NA,NA,NA note,note_date,Yes,date,The date the note was recorded.,NA,No,No,NA,NA,NA,NA,NA
note,note_datetime,No,datetime,NA,If time is not given set the time to midnight.,No,No,NA,NA,NA,NA,NA note,note_datetime,No,datetime,NA,If time is not given set the time to midnight.,No,No,NA,NA,NA,NA,NA
note,note_type_concept_id,Yes,integer,The provenance of the note. Most likely this will be EHR.,"Put the source system of the note, as in EHR record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA note,note_type_concept_id,Yes,integer,The provenance of the note. Most likely this will be EHR.,"Put the source system of the note, as in EHR record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
note,note_class_concept_id,Yes,integer,"A Standard Concept Id representing the HL7 LOINC note,note_class_concept_id,Yes,integer,"A Standard Concept Id representing the HL7 LOINC
Document Type Vocabulary classification of the note.",Map the note classification to a Standard Concept. For more information see the ETL Conventions in the description of the NOTE table. [AcceptedConcepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Doc+Kind&conceptClass=Doc+Role&conceptClass=Doc+Setting&conceptClass=Doc+Subject+Matter&conceptClass=Doc+Type+of+Service&domain=Meas+Value&page=1&pageSize=15&query=). This Concept can alternatively be represented by concepts with the relationship 'Kind of (LOINC)' to [706391](https://athena.ohdsi.org/search-terms/terms/706391) (Note).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA Document Type Vocabulary classification of the note.",Map the note classification to a Standard Concept. For more information see the ETL Conventions in the description of the NOTE table. [AcceptedConcepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Doc+Kind&conceptClass=Doc+Role&conceptClass=Doc+Setting&conceptClass=Doc+Subject+Matter&conceptClass=Doc+Type+of+Service&domain=Meas+Value&page=1&pageSize=15&query=). This Concept can alternatively be represented by concepts with the relationship 'Kind of (LOINC)' to [706391](https://athena.ohdsi.org/search-terms/terms/706391) (Note).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note,note_title,No,varchar(250),The title of the note.,NA,No,No,NA,NA,NA,NA,NA note,note_title,No,varchar(250),The title of the note.,NA,No,No,NA,NA,NA,NA,NA
note,note_text,Yes,varchar(MAX),The content of the note.,NA,No,No,NA,NA,NA,NA,NA note,note_text,Yes,varchar(MAX),The content of the note.,NA,No,No,NA,NA,NA,NA,NA
note,encoding_concept_id,Yes,integer,This is the Concept representing the character encoding type.,"Put the Concept Id that represents the encoding character type here. Currently the only option is UTF-8 ([32678](https://athena.ohdsi.org/search-terms/terms/32678)). It the note is encoded in any other type, like ASCII then put 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note,encoding_concept_id,Yes,integer,This is the Concept representing the character encoding type.,"Put the Concept Id that represents the encoding character type here. Currently the only option is UTF-8 ([32678](https://athena.ohdsi.org/search-terms/terms/32678)). It the note is encoded in any other type, like ASCII then put 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note,language_concept_id,Yes,integer,The language of the note.,Use Concepts that are descendants of the concept [4182347](https://athena.ohdsi.org/search-terms/terms/4182347) (World Languages).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note,language_concept_id,Yes,integer,The language of the note.,Use Concepts that are descendants of the concept [4182347](https://athena.ohdsi.org/search-terms/terms/4182347) (World Languages).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note,provider_id,No,bigint,The Provider who wrote the note.,The ETL may need to make a determination on which provider to put here.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA note,provider_id,No,bigint,The Provider who wrote the note.,The ETL may need to make a determination on which provider to put here.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
note,visit_occurrence_id,No,bigint,The Visit during which the note was written.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA note,visit_occurrence_id,No,bigint,The Visit during which the note was written.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
note,visit_detail_id,No,bigint,The Visit Detail during which the note was written.,NA,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA note,visit_detail_id,No,bigint,The Visit Detail during which the note was written.,NA,No,Yes,VISIT_DETAIL,VISIT_DETAIL_ID,NA,NA,NA
note,note_source_value,No,varchar(50),NA,The source value mapped to the NOTE_CLASS_CONCEPT_ID.,No,No,NA,NA,NA,NA,NA note,note_source_value,No,varchar(50),NA,The source value mapped to the NOTE_CLASS_CONCEPT_ID.,No,No,NA,NA,NA,NA,NA
note_nlp,note_nlp_id,Yes,bigint,A unique identifier for the NLP record.,NA,Yes,No,NA,NA,NA,NA,NA note_nlp,note_nlp_id,Yes,bigint,A unique identifier for the NLP record.,NA,Yes,No,NA,NA,NA,NA,NA
note_nlp,note_id,Yes,integer,This is the NOTE_ID for the NOTE record the NLP record is associated to.,NA,No,No,NA,NA,NA,NA,NA note_nlp,note_id,Yes,integer,This is the NOTE_ID for the NOTE record the NLP record is associated to.,NA,No,No,NA,NA,NA,NA,NA
note_nlp,section_concept_id,No,integer,NA,"The SECTION_CONCEPT_ID should be used to represent the note section contained in the NOTE_NLP record. These concepts can be found as parts of document panels and are based on the type of note written, i.e. a discharge summary. These panels can be found as concepts with the relationship 'Subsumes' to CONCEPT_ID [45875957](https://athena.ohdsi.org/search-terms/terms/45875957).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note_nlp,section_concept_id,No,integer,NA,"The SECTION_CONCEPT_ID should be used to represent the note section contained in the NOTE_NLP record. These concepts can be found as parts of document panels and are based on the type of note written, i.e. a discharge summary. These panels can be found as concepts with the relationship 'Subsumes' to CONCEPT_ID [45875957](https://athena.ohdsi.org/search-terms/terms/45875957).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note_nlp,snippet,No,varchar(250),A small window of text surrounding the term,NA,No,No,NA,NA,NA,NA,NA note_nlp,snippet,No,varchar(250),A small window of text surrounding the term,NA,No,No,NA,NA,NA,NA,NA
note_nlp,"\""offset\""",No,varchar(50),Character offset of the extracted term in the input note,NA,No,No,NA,NA,NA,NA,NA note_nlp,"\""offset\""",No,varchar(50),Character offset of the extracted term in the input note,NA,No,No,NA,NA,NA,NA,NA
note_nlp,lexical_variant,Yes,varchar(250),Raw text extracted from the NLP tool.,NA,No,No,NA,NA,NA,NA,NA note_nlp,lexical_variant,Yes,varchar(250),Raw text extracted from the NLP tool.,NA,No,No,NA,NA,NA,NA,NA
note_nlp,note_nlp_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note_nlp,note_nlp_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note_nlp,note_nlp_source_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA note_nlp,note_nlp_source_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
note_nlp,nlp_system,No,varchar(250),NA,Name and version of the NLP system that extracted the term. Useful for data provenance.,No,No,NA,NA,NA,NA,NA note_nlp,nlp_system,No,varchar(250),NA,Name and version of the NLP system that extracted the term. Useful for data provenance.,No,No,NA,NA,NA,NA,NA
note_nlp,nlp_date,Yes,date,The date of the note processing.,NA,No,No,NA,NA,NA,NA,NA note_nlp,nlp_date,Yes,date,The date of the note processing.,NA,No,No,NA,NA,NA,NA,NA
note_nlp,nlp_datetime,No,datetime,The date and time of the note processing.,NA,No,No,NA,NA,NA,NA,NA note_nlp,nlp_datetime,No,datetime,The date and time of the note processing.,NA,No,No,NA,NA,NA,NA,NA
note_nlp,term_exists,No,varchar(1),NA,"Term_exists is defined as a flag that indicates if the patient actually has or had the condition. Any of the following modifiers would make Term_exists false: note_nlp,term_exists,No,varchar(1),NA,"Term_exists is defined as a flag that indicates if the patient actually has or had the condition. Any of the following modifiers would make Term_exists false:
Negation = true Negation = true
Subject = [anything other than the patient] Subject = [anything other than the patient]
@ -224,324 +224,324 @@ Conditional = true/li>
Rule_out = true Rule_out = true
Uncertain = very low certainty or any lower certainties Uncertain = very low certainty or any lower certainties
A complete lack of modifiers would make Term_exists true. A complete lack of modifiers would make Term_exists true.
",No,No,NA,NA,NA,NA,NA ",No,No,NA,NA,NA,NA,NA
note_nlp,term_temporal,No,varchar(50),NA,"Term_temporal is to indicate if a condition is present or just in the past. The following would be past:<br><br> note_nlp,term_temporal,No,varchar(50),NA,"Term_temporal is to indicate if a condition is present or just in the past. The following would be past:<br><br>
- History = true - History = true
- Concept_date = anything before the time of the report",No,No,NA,NA,NA,NA,NA - Concept_date = anything before the time of the report",No,No,NA,NA,NA,NA,NA
note_nlp,term_modifiers,No,varchar(2000),NA,"For the modifiers that are there, they would have to have these values:<br><br> note_nlp,term_modifiers,No,varchar(2000),NA,"For the modifiers that are there, they would have to have these values:<br><br>
- Negation = false - Negation = false
- Subject = patient - Subject = patient
- Conditional = false - Conditional = false
- Rule_out = false - Rule_out = false
- Uncertain = true or high or moderate or even low (could argue about low). Term_modifiers will concatenate all modifiers for different types of entities (conditions, drugs, labs etc) into one string. Lab values will be saved as one of the modifiers.",No,No,NA,NA,NA,NA,NA - Uncertain = true or high or moderate or even low (could argue about low). Term_modifiers will concatenate all modifiers for different types of entities (conditions, drugs, labs etc) into one string. Lab values will be saved as one of the modifiers.",No,No,NA,NA,NA,NA,NA
specimen,specimen_id,Yes,bigint,Unique identifier for each specimen.,NA,Yes,No,NA,NA,NA,NA,NA specimen,specimen_id,Yes,bigint,Unique identifier for each specimen.,NA,Yes,No,NA,NA,NA,NA,NA
specimen,person_id,Yes,bigint,The person from whom the specimen is collected.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA specimen,person_id,Yes,bigint,The person from whom the specimen is collected.,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
specimen,specimen_concept_id,Yes,integer,NA,The standard CONCEPT_ID that the SPECIMEN_SOURCE_VALUE maps to in the specimen domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Specimen&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA specimen,specimen_concept_id,Yes,integer,NA,The standard CONCEPT_ID that the SPECIMEN_SOURCE_VALUE maps to in the specimen domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Specimen&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
specimen,specimen_type_concept_id,Yes,integer,NA,"Put the source of the specimen record, as in an EHR system. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA specimen,specimen_type_concept_id,Yes,integer,NA,"Put the source of the specimen record, as in an EHR system. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
specimen,specimen_date,Yes,date,The date the specimen was collected.,NA,No,No,NA,NA,NA,NA,NA specimen,specimen_date,Yes,date,The date the specimen was collected.,NA,No,No,NA,NA,NA,NA,NA
specimen,specimen_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA specimen,specimen_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA
specimen,quantity,No,float,The amount of specimen collected from the person.,NA,No,No,NA,NA,NA,NA,NA specimen,quantity,No,float,The amount of specimen collected from the person.,NA,No,No,NA,NA,NA,NA,NA
specimen,unit_concept_id,No,integer,The unit for the quantity of the specimen.,Map the UNIT_SOURCE_VALUE to a Standard Concept in the Unit domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Unit&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA specimen,unit_concept_id,No,integer,The unit for the quantity of the specimen.,Map the UNIT_SOURCE_VALUE to a Standard Concept in the Unit domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Unit&standardConcept=Standard&page=1&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
specimen,anatomic_site_concept_id,No,integer,This is the site on the body where the specimen is from.,Map the ANATOMIC_SITE_SOURCE_VALUE to a Standard Concept in the Spec Anatomic Site domain. This should be coded at the lowest level of granularity [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Spec+Anatomic+Site&conceptClass=Body+Structure&page=4&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA specimen,anatomic_site_concept_id,No,integer,This is the site on the body where the specimen is from.,Map the ANATOMIC_SITE_SOURCE_VALUE to a Standard Concept in the Spec Anatomic Site domain. This should be coded at the lowest level of granularity [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Spec+Anatomic+Site&conceptClass=Body+Structure&page=4&pageSize=15&query=),No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
specimen,disease_status_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA specimen,disease_status_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
specimen,specimen_source_id,No,varchar(50),This is the identifier for the specimen from the source system.,NA,No,No,NA,NA,NA,NA,NA specimen,specimen_source_id,No,varchar(50),This is the identifier for the specimen from the source system.,NA,No,No,NA,NA,NA,NA,NA
specimen,specimen_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA specimen,specimen_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
specimen,unit_source_value,No,varchar(50),NA,"This unit for the quantity of the specimen, as represented in the source.",No,No,NA,NA,NA,NA,NA specimen,unit_source_value,No,varchar(50),NA,"This unit for the quantity of the specimen, as represented in the source.",No,No,NA,NA,NA,NA,NA
specimen,anatomic_site_source_value,No,varchar(50),NA,"This is the site on the body where the specimen was taken from, as represented in the source.",No,No,NA,NA,NA,NA,NA specimen,anatomic_site_source_value,No,varchar(50),NA,"This is the site on the body where the specimen was taken from, as represented in the source.",No,No,NA,NA,NA,NA,NA
specimen,disease_status_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA specimen,disease_status_source_value,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
fact_relationship,domain_concept_id_1,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA fact_relationship,domain_concept_id_1,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
fact_relationship,fact_id_1,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA fact_relationship,fact_id_1,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
fact_relationship,domain_concept_id_2,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA fact_relationship,domain_concept_id_2,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
fact_relationship,fact_id_2,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA fact_relationship,fact_id_2,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
fact_relationship,relationship_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA fact_relationship,relationship_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,survey_conduct_id,Yes,bigint,Unique identifier for each completed survey.,For each instance of a survey completion create a unique identifier.,Yes,No,NA,NA,NA,NA,NA survey_conduct,survey_conduct_id,Yes,bigint,Unique identifier for each completed survey.,For each instance of a survey completion create a unique identifier.,Yes,No,NA,NA,NA,NA,NA
survey_conduct,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA survey_conduct,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
survey_conduct,survey_concept_id,Yes,integer,This is the Concept that represents the survey that was completed.,Put the CONCEPT_ID that identifies the survey that the Person completed. There is no specified domain for this table but the concept class 'staging/scales' contains many common surveys. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Staging+%2F+Scales&page=5&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,survey_concept_id,Yes,integer,This is the Concept that represents the survey that was completed.,Put the CONCEPT_ID that identifies the survey that the Person completed. There is no specified domain for this table but the concept class 'staging/scales' contains many common surveys. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Staging+%2F+Scales&page=5&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,survey_start_date,No,date,Date on which the survey was started.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,survey_start_date,No,date,Date on which the survey was started.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,survey_start_datetime,No,datetime,NA,"If no time given, set to midnight.",No,No,NA,NA,NA,NA,NA survey_conduct,survey_start_datetime,No,datetime,NA,"If no time given, set to midnight.",No,No,NA,NA,NA,NA,NA
survey_conduct,survey_end_date,No,date,Date on which the survey was completed.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,survey_end_date,No,date,Date on which the survey was completed.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,survey_end_datetime,Yes,datetime,NA,"If no time given, set to midnight.",No,No,NA,NA,NA,NA,NA survey_conduct,survey_end_datetime,Yes,datetime,NA,"If no time given, set to midnight.",No,No,NA,NA,NA,NA,NA
survey_conduct,provider_id,No,bigint,This is the Provider associated with the survey completion.,The ETL may need to make a choice as to which Provider to put here. This could either be the provider that ordered the survey or the provider who observed the completion of the survey.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA survey_conduct,provider_id,No,bigint,This is the Provider associated with the survey completion.,The ETL may need to make a choice as to which Provider to put here. This could either be the provider that ordered the survey or the provider who observed the completion of the survey.,No,Yes,PROVIDER,PROVIDER_ID,NA,NA,NA
survey_conduct,assisted_concept_id,Yes,integer,This is a Concept that represents whether the survey was completed with assistance or independently.,"There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,assisted_concept_id,Yes,integer,This is a Concept that represents whether the survey was completed with assistance or independently.,"There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,respondent_type_concept_id,Yes,integer,"This is a Concept that represents who actually recorded the answers to the survey. For example, this could be the patient or a research associate.","There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,respondent_type_concept_id,Yes,integer,"This is a Concept that represents who actually recorded the answers to the survey. For example, this could be the patient or a research associate.","There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,timing_concept_id,Yes,integer,This is a Concept that represents the timing of the survey. For example this could be the 3-month follow-up appointment.,"There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,timing_concept_id,Yes,integer,This is a Concept that represents the timing of the survey. For example this could be the 3-month follow-up appointment.,"There is no specific domain or class for this field, just choose the one that best represents the value given in the source.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,collection_method_concept_id,Yes,integer,This Concept represents how the responses were collected.,Use the concepts that have the relationship 'Has Answer' with the CONCEPT_ID [42529316](https://athena.ohdsi.org/search-terms/terms/42529316).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,collection_method_concept_id,Yes,integer,This Concept represents how the responses were collected.,Use the concepts that have the relationship 'Has Answer' with the CONCEPT_ID [42529316](https://athena.ohdsi.org/search-terms/terms/42529316).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,assisted_source_value,No,varchar(50),"Source value representing whether patient required assistance to complete the survey. Example: 'Completed without assistance', 'Completed with assistance'.",NA,No,No,NA,NA,NA,NA,NA survey_conduct,assisted_source_value,No,varchar(50),"Source value representing whether patient required assistance to complete the survey. Example: 'Completed without assistance', 'Completed with assistance'.",NA,No,No,NA,NA,NA,NA,NA
survey_conduct,respondent_type_source_value,No,varchar(100),Source code representing role of person who completed the survey.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,respondent_type_source_value,No,varchar(100),Source code representing role of person who completed the survey.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,timing_source_value,No,varchar(100),"Text string representing the timing of the survey. Example: Baseline, 6-month follow-up.",NA,No,No,NA,NA,NA,NA,NA survey_conduct,timing_source_value,No,varchar(100),"Text string representing the timing of the survey. Example: Baseline, 6-month follow-up.",NA,No,No,NA,NA,NA,NA,NA
survey_conduct,collection_method_source_value,No,varchar(100),The collection method as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,collection_method_source_value,No,varchar(100),The collection method as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,survey_source_value,No,varchar(100),The survey name as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,survey_source_value,No,varchar(100),The survey name as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,survey_source_concept_id,Yes,integer,NA,"If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,survey_source_concept_id,Yes,integer,NA,"If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,survey_source_identifier,No,varchar(100),Unique identifier for each completed survey in source system.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,survey_source_identifier,No,varchar(100),Unique identifier for each completed survey in source system.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,validated_survey_concept_id,Yes,integer,NA,"If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA survey_conduct,validated_survey_concept_id,Yes,integer,NA,"If unavailable, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
survey_conduct,validated_survey_source_value,No,integer,Source value representing the validation status of the survey.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,validated_survey_source_value,No,varchar(100),Source value representing the validation status of the survey.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,survey_version_number,No,varchar(20),Version number of the questionnaire or survey used.,NA,No,No,NA,NA,NA,NA,NA survey_conduct,survey_version_number,No,varchar(20),Version number of the questionnaire or survey used.,NA,No,No,NA,NA,NA,NA,NA
survey_conduct,visit_occurrence_id,No,bigint,The Visit during which the Survey occurred.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA survey_conduct,visit_occurrence_id,No,bigint,The Visit during which the Survey occurred.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
survey_conduct,response_visit_occurrence_id,No,bigint,The Visit during which any treatment related to the Survey was carried out.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA survey_conduct,response_visit_occurrence_id,No,bigint,The Visit during which any treatment related to the Survey was carried out.,NA,No,Yes,VISIT_OCCURRENCE,VISIT_OCCURRENCE_ID,NA,NA,NA
location,location_id,Yes,bigint,The unique key given to a unique Location.,Each instance of a Location in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA location,location_id,Yes,bigint,The unique key given to a unique Location.,Each instance of a Location in the source data should be assigned this unique key.,Yes,No,NA,NA,NA,NA,NA
location,address_1,No,varchar(50),This is the first line of the address.,NA,No,No,NA,NA,NA,NA,NA location,address_1,No,varchar(50),This is the first line of the address.,NA,No,No,NA,NA,NA,NA,NA
location,address_2,No,varchar(50),This is the second line of the address,NA,No,No,NA,NA,NA,NA,NA location,address_2,No,varchar(50),This is the second line of the address,NA,No,No,NA,NA,NA,NA,NA
location,city,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA location,city,No,varchar(50),NA,NA,No,No,NA,NA,NA,NA,NA
location,state,No,varchar(2),NA,NA,No,No,NA,NA,NA,NA,NA location,state,No,varchar(2),NA,NA,No,No,NA,NA,NA,NA,NA
location,zip,No,varchar(9),NA,"Zip codes are handled as strings of up to 9 characters length. For US addresses, these represent either a 3-digit abbreviated Zip code as provided by many sources for patient protection reasons, the full 5-digit Zip or the 9-digit (ZIP + 4) codes. Unless for specific reasons analytical methods should expect and utilize only the first 3 digits. For international addresses, different rules apply.",No,No,NA,NA,NA,NA,NA location,zip,No,varchar(9),NA,"Zip codes are handled as strings of up to 9 characters length. For US addresses, these represent either a 3-digit abbreviated Zip code as provided by many sources for patient protection reasons, the full 5-digit Zip or the 9-digit (ZIP + 4) codes. Unless for specific reasons analytical methods should expect and utilize only the first 3 digits. For international addresses, different rules apply.",No,No,NA,NA,NA,NA,NA
location,county,No,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA location,county,No,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA
location,location_source_value,No,varchar(50),NA,"Put the verbatim value for the location here, as it shows up in the source.",No,No,NA,NA,NA,NA,NA location,location_source_value,No,varchar(50),NA,"Put the verbatim value for the location here, as it shows up in the source.",No,No,NA,NA,NA,NA,NA
location,latitude,No,float,The geocoded latitude.,NA,No,No,NA,NA,NA,NA,NA location,latitude,No,float,The geocoded latitude.,NA,No,No,NA,NA,NA,NA,NA
location,longitude,No,float,The geocoded longitude.,NA,No,No,NA,NA,NA,NA,NA location,longitude,No,float,The geocoded longitude.,NA,No,No,NA,NA,NA,NA,NA
location_history,location_id,Yes,bigint,This is the LOCATION_ID for the LOCATION_HISTORY record.,NA,No,Yes,LOCATION,LOCATION_ID,NA,NA,NA location_history,location_id,Yes,bigint,This is the LOCATION_ID for the LOCATION_HISTORY record.,NA,No,Yes,LOCATION,LOCATION_ID,NA,NA,NA
location_history,relationship_type_concept_id,Yes,integer,"This is the relationship between the location and the entity (PERSON, PROVIDER, or CARE_SITE)",Concepts in this field must be in the Location class. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Location&page=1&pageSize=15&query=&boosts). If the DOMAIN_ID is CARE_SITE this should be 0 and when the domain is PROVIDER the value is [Office](https://athena.ohdsi.org/search-terms/terms/4121722).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA location_history,relationship_type_concept_id,Yes,integer,"This is the relationship between the location and the entity (PERSON, PROVIDER, or CARE_SITE)",Concepts in this field must be in the Location class. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Location&page=1&pageSize=15&query=&boosts). If the DOMAIN_ID is CARE_SITE this should be 0 and when the domain is PROVIDER the value is [Office](https://athena.ohdsi.org/search-terms/terms/4121722).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
location_history,domain_id,Yes,varchar(50),NA,"The domain of the entity that is related to the location. Either PERSON, PROVIDER, or CARE_SITE.",No,No,NA,NA,NA,NA,NA location_history,domain_id,Yes,varchar(50),NA,"The domain of the entity that is related to the location. Either PERSON, PROVIDER, or CARE_SITE.",No,No,NA,NA,NA,NA,NA
location_history,entity_id,Yes,bigint,NA,"The unique identifier for the entity. References either person_id, provider_id, or care_site_id, depending on domain_id.",No,No,NA,NA,NA,NA,NA location_history,entity_id,Yes,bigint,NA,"The unique identifier for the entity. References either person_id, provider_id, or care_site_id, depending on domain_id.",No,No,NA,NA,NA,NA,NA
location_history,start_date,Yes,date,The date the relationship started,NA,No,No,NA,NA,NA,NA,NA location_history,start_date,Yes,date,The date the relationship started,NA,No,No,NA,NA,NA,NA,NA
location_history,end_date,No,date,The date the relationship ended,NA,No,No,NA,NA,NA,NA,NA location_history,end_date,No,date,The date the relationship ended,NA,No,No,NA,NA,NA,NA,NA
care_site,care_site_id,Yes,bigint,NA,Assign an id to each unique combination of location_id and place_of_service_source_value.,Yes,No,NA,NA,NA,NA,NA care_site,care_site_id,Yes,bigint,NA,Assign an id to each unique combination of location_id and place_of_service_source_value.,Yes,No,NA,NA,NA,NA,NA
care_site,care_site_name,No,varchar(255),The name of the care_site as it appears in the source data,NA,No,No,NA,NA,NA,NA,NA care_site,care_site_name,No,varchar(255),The name of the care_site as it appears in the source data,NA,No,No,NA,NA,NA,NA,NA
care_site,place_of_service_concept_id,Yes,integer,"This is a high-level way of characterizing a Care Site. Typically, however, Care Sites can provide care in multiple settings (inpatient, outpatient, etc.) and this granularity should be reflected in the visit.","Choose the concept in the visit domain that best represents the setting in which healthcare is provided in the Care Site. If most visits in a Care Site are Inpatient, then the place_of_service_concept_id should represent Inpatient. If information is present about a unique Care Site (e.g. Pharmacy) then a Care Site record should be created. If this information is not available then set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=2&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA care_site,place_of_service_concept_id,Yes,integer,"This is a high-level way of characterizing a Care Site. Typically, however, Care Sites can provide care in multiple settings (inpatient, outpatient, etc.) and this granularity should be reflected in the visit.","Choose the concept in the visit domain that best represents the setting in which healthcare is provided in the Care Site. If most visits in a Care Site are Inpatient, then the place_of_service_concept_id should represent Inpatient. If information is present about a unique Care Site (e.g. Pharmacy) then a Care Site record should be created. If this information is not available then set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=2&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
care_site,location_id,No,bigint,The location_id from the LOCATION table representing the physical location of the care_site.,NA,No,Yes,LOCATION,LOCATION_ID,NA,NA,NA care_site,location_id,No,bigint,The location_id from the LOCATION table representing the physical location of the care_site.,NA,No,Yes,LOCATION,LOCATION_ID,NA,NA,NA
care_site,care_site_source_value,No,varchar(50),The identifier of the care_site as it appears in the source data. This could be an identifier separate from the name of the care_site.,NA,No,No,NA,NA,NA,NA,NA care_site,care_site_source_value,No,varchar(50),The identifier of the care_site as it appears in the source data. This could be an identifier separate from the name of the care_site.,NA,No,No,NA,NA,NA,NA,NA
care_site,place_of_service_source_value,No,varchar(50),NA,Put the place of service of the care_site as it appears in the source data.,No,No,NA,NA,NA,NA,NA care_site,place_of_service_source_value,No,varchar(50),NA,Put the place of service of the care_site as it appears in the source data.,No,No,NA,NA,NA,NA,NA
provider,provider_id,Yes,bigint,It is assumed that every provider with a different unique identifier is in fact a different person and should be treated independently.,"This identifier can be the original id from the source data provided it is an integer, otherwise it can be an autogenerated number.",Yes,No,NA,NA,NA,NA,NA provider,provider_id,Yes,bigint,It is assumed that every provider with a different unique identifier is in fact a different person and should be treated independently.,"This identifier can be the original id from the source data provided it is an integer, otherwise it can be an autogenerated number.",Yes,No,NA,NA,NA,NA,NA
provider,provider_name,No,varchar(255),NA,"This field is not necessary as it is not necessary to have the actual identity of the Provider. Rather, the idea is to uniquely and anonymously identify providers of care across the database.",No,No,NA,NA,NA,NA,NA provider,provider_name,No,varchar(255),NA,"This field is not necessary as it is not necessary to have the actual identity of the Provider. Rather, the idea is to uniquely and anonymously identify providers of care across the database.",No,No,NA,NA,NA,NA,NA
provider,npi,No,varchar(20),This is the National Provider Number issued to health care providers in the US by the Centers for Medicare and Medicaid Services (CMS).,NA,No,No,NA,NA,NA,NA,NA provider,npi,No,varchar(20),This is the National Provider Number issued to health care providers in the US by the Centers for Medicare and Medicaid Services (CMS).,NA,No,No,NA,NA,NA,NA,NA
provider,dea,No,varchar(20),"This is the identifier issued by the DEA, a US federal agency, that allows a provider to write prescriptions for controlled substances.",NA,No,No,NA,NA,NA,NA,NA provider,dea,No,varchar(20),"This is the identifier issued by the DEA, a US federal agency, that allows a provider to write prescriptions for controlled substances.",NA,No,No,NA,NA,NA,NA,NA
provider,specialty_concept_id,Yes,integer,"This field either represents the most common specialty that occurs in the data or the most specific concept that represents all specialties listed, should the provider have more than one. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists.","If a Provider has more than one Specialty, there are two options: 1. Choose a concept_id which is a common ancestor to the multiple specialties, or, 2. Choose the specialty that occurs most often for the provider. Concepts in this field should be Standard with a domain of Provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Provider&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA provider,specialty_concept_id,Yes,integer,"This field either represents the most common specialty that occurs in the data or the most specific concept that represents all specialties listed, should the provider have more than one. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists.","If a Provider has more than one Specialty, there are two options: 1. Choose a concept_id which is a common ancestor to the multiple specialties, or, 2. Choose the specialty that occurs most often for the provider. Concepts in this field should be Standard with a domain of Provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Provider&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
provider,care_site_id,No,bigint,This is the CARE_SITE_ID for the location that the provider primarily practices in.,"If a Provider has more than one Care Site, the main or most often exerted CARE_SITE_ID should be recorded.",No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA provider,care_site_id,No,bigint,This is the CARE_SITE_ID for the location that the provider primarily practices in.,"If a Provider has more than one Care Site, the main or most often exerted CARE_SITE_ID should be recorded.",No,Yes,CARE_SITE,CARE_SITE_ID,NA,NA,NA
provider,year_of_birth,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA provider,year_of_birth,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA
provider,gender_concept_id,Yes,integer,This field represents the recorded gender of the provider in the source data.,"If given, put a concept from the gender domain representing the recorded gender of the provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Gender,NA,NA provider,gender_concept_id,Yes,integer,This field represents the recorded gender of the provider in the source data.,"If given, put a concept from the gender domain representing the recorded gender of the provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,Gender,NA,NA
provider,provider_source_value,No,varchar(50),Use this field to link back to providers in the source data. This is typically used for error checking of ETL logic.,Some use cases require the ability to link back to providers in the source data. This field allows for the storing of the provider identifier as it appears in the source.,No,No,NA,NA,NA,NA,NA provider,provider_source_value,No,varchar(50),Use this field to link back to providers in the source data. This is typically used for error checking of ETL logic.,Some use cases require the ability to link back to providers in the source data. This field allows for the storing of the provider identifier as it appears in the source.,No,No,NA,NA,NA,NA,NA
provider,specialty_source_value,No,varchar(50),"This is the kind of provider or specialty as it appears in the source data. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists.",Put the kind of provider as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value.,No,No,NA,NA,NA,NA,NA provider,specialty_source_value,No,varchar(50),"This is the kind of provider or specialty as it appears in the source data. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists.",Put the kind of provider as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value.,No,No,NA,NA,NA,NA,NA
provider,specialty_source_concept_id,Yes,integer,This is often zero as many sites use proprietary codes to store physician speciality.,"If the source data codes provider specialty in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA provider,specialty_source_concept_id,Yes,integer,This is often zero as many sites use proprietary codes to store physician speciality.,"If the source data codes provider specialty in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
provider,gender_source_value,No,varchar(50),This is provider's gender as it appears in the source data.,Put the provider's gender as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value.,No,No,NA,NA,NA,NA,NA provider,gender_source_value,No,varchar(50),This is provider's gender as it appears in the source data.,Put the provider's gender as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value.,No,No,NA,NA,NA,NA,NA
provider,gender_source_concept_id,Yes,integer,This is often zero as many sites use proprietary codes to store provider gender.,"If the source data codes provider gender in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA provider,gender_source_concept_id,Yes,integer,This is often zero as many sites use proprietary codes to store provider gender.,"If the source data codes provider gender in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,payer_plan_period_id,Yes,bigint,"A unique identifier for each unique combination of a Person, Payer, Plan, and Period of time.",NA,Yes,NA,NA,NA,NA,NA,NA payer_plan_period,payer_plan_period_id,Yes,bigint,"A unique identifier for each unique combination of a Person, Payer, Plan, and Period of time.",NA,Yes,NA,NA,NA,NA,NA,NA
payer_plan_period,person_id,Yes,bigint,The Person covered by the Plan.,"A single Person can have multiple, overlapping, PAYER_PLAN_PERIOD records",No,Yes,PERSON,PERSON_ID,NA,NA,NA payer_plan_period,person_id,Yes,bigint,The Person covered by the Plan.,"A single Person can have multiple, overlapping, PAYER_PLAN_PERIOD records",No,Yes,PERSON,PERSON_ID,NA,NA,NA
payer_plan_period,contract_person_id,No,bigint,The Person who is the primary subscriber/contract owner for Plan.,"This may or may not be the same as the PERSON_ID. For example, if a mother has her son on her plan and the PAYER_PLAN_PERIOD record is the for son, the sons's PERSON_ID would go in PAYER_PLAN_PERIOD.PERSON_ID and the mother's PERSON_ID would go in PAYER_PLAN_PERIOD.CONTRACT_PERSON_ID.",No,Yes,PERSON,PERSON_ID,NA,NA,NA payer_plan_period,contract_person_id,No,bigint,The Person who is the primary subscriber/contract owner for Plan.,"This may or may not be the same as the PERSON_ID. For example, if a mother has her son on her plan and the PAYER_PLAN_PERIOD record is the for son, the sons's PERSON_ID would go in PAYER_PLAN_PERIOD.PERSON_ID and the mother's PERSON_ID would go in PAYER_PLAN_PERIOD.CONTRACT_PERSON_ID.",No,Yes,PERSON,PERSON_ID,NA,NA,NA
payer_plan_period,payer_plan_period_start_date,Yes,date,Start date of Plan coverage.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,payer_plan_period_start_date,Yes,date,Start date of Plan coverage.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,payer_plan_period_end_date,Yes,date,End date of Plan coverage.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,payer_plan_period_end_date,Yes,date,End date of Plan coverage.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,payer_concept_id,Yes,integer,This field represents the organization who reimburses the provider which administers care to the Person.,"Map the Payer directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same payer, though the name of the Payer is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Payer&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,payer_concept_id,Yes,integer,This field represents the organization who reimburses the provider which administers care to the Person.,"Map the Payer directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same payer, though the name of the Payer is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Payer&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,payer_source_value,No,varchar(50),This is the Payer as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,payer_source_value,No,varchar(50),This is the Payer as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,payer_source_concept_id,Yes,integer,NA,"If the source data codes the Payer in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,payer_source_concept_id,Yes,integer,NA,"If the source data codes the Payer in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,plan_concept_id,Yes,integer,This field represents the specific health benefit Plan the Person is enrolled in.,"Map the Plan directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same health benefit Plan though the name of the Plan is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,plan_concept_id,Yes,integer,This field represents the specific health benefit Plan the Person is enrolled in.,"Map the Plan directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same health benefit Plan though the name of the Plan is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,plan_source_value,No,varchar(50),This is the health benefit Plan of the Person as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,plan_source_value,No,varchar(50),This is the health benefit Plan of the Person as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,plan_source_concept_id,Yes,integer,NA,"If the source data codes the Plan in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,plan_source_concept_id,Yes,integer,NA,"If the source data codes the Plan in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,contract_concept_id,Yes,integer,This field represents the relationship between the PERSON_ID and CONTRACT_PERSON_ID. It should be read as PERSON_ID is the *CONTRACT_CONCEPT_ID* of the CONTRACT_PERSON_ID. So if CONTRACT_CONCEPT_ID represents the relationship 'Stepdaughter' then the Person for whom PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID.,"If available, use this field to represent the relationship between the PERSON_ID and the CONTRACT_PERSON_ID. If the Person for whom the PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID then CONTRACT_CONCEPT_ID would be [4330864](https://athena.ohdsi.org/search-terms/terms/4330864). If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Relationship&page=12&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,contract_concept_id,Yes,integer,This field represents the relationship between the PERSON_ID and CONTRACT_PERSON_ID. It should be read as PERSON_ID is the *CONTRACT_CONCEPT_ID* of the CONTRACT_PERSON_ID. So if CONTRACT_CONCEPT_ID represents the relationship 'Stepdaughter' then the Person for whom PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID.,"If available, use this field to represent the relationship between the PERSON_ID and the CONTRACT_PERSON_ID. If the Person for whom the PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID then CONTRACT_CONCEPT_ID would be [4330864](https://athena.ohdsi.org/search-terms/terms/4330864). If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Relationship&page=12&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,contract_source_value,Yes,varchar(50),This is the relationship of the PERSON_ID to CONTRACT_PERSON_ID as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,contract_source_value,Yes,varchar(50),This is the relationship of the PERSON_ID to CONTRACT_PERSON_ID as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,contract_source_concept_id,Yes,integer,NA,"If the source data codes the relationship between the PERSON_ID and CONTRACT_PERSON_ID in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,contract_source_concept_id,Yes,integer,NA,"If the source data codes the relationship between the PERSON_ID and CONTRACT_PERSON_ID in an OMOP supported vocabulary store the concept_id here. If not available, set to 0.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,sponsor_concept_id,Yes,integer,"This field represents the sponsor of the Plan who finances the Plan. This includes self-insured, small group health plan and large group health plan.","Map the sponsor directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same sponsor though the name of the sponsor is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Sponsor&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,sponsor_concept_id,Yes,integer,"This field represents the sponsor of the Plan who finances the Plan. This includes self-insured, small group health plan and large group health plan.","Map the sponsor directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same sponsor though the name of the sponsor is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Sponsor&standardConcept=Standard&page=1&pageSize=15&query=).",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,sponsor_source_value,No,varchar(50),The Plan sponsor as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,sponsor_source_value,No,varchar(50),The Plan sponsor as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,sponsor_source_concept_id,No,integer,NA,If the source data codes the sponsor in an OMOP supported vocabulary store the concept_id here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,sponsor_source_concept_id,No,integer,NA,If the source data codes the sponsor in an OMOP supported vocabulary store the concept_id here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,family_source_value,No,varchar(50),The common identifier for all people (often a family) that covered by the same policy.,Often these are the common digits of the enrollment id of the policy members.,No,No,NA,NA,NA,NA,NA payer_plan_period,family_source_value,No,varchar(50),The common identifier for all people (often a family) that covered by the same policy.,Often these are the common digits of the enrollment id of the policy members.,No,No,NA,NA,NA,NA,NA
payer_plan_period,stop_reason_concept_id,No,integer,"This field represents the reason the Person left the Plan, if known.",Map the stop reason directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan+Stop+Reason&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,stop_reason_concept_id,No,integer,"This field represents the reason the Person left the Plan, if known.",Map the stop reason directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan+Stop+Reason&standardConcept=Standard&page=1&pageSize=15&query=).,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
payer_plan_period,stop_reason_source_value,No,varchar(50),The Plan stop reason as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA payer_plan_period,stop_reason_source_value,No,varchar(50),The Plan stop reason as it appears in the source data.,NA,No,No,NA,NA,NA,NA,NA
payer_plan_period,stop_reason_source_concept_id,No,integer,NA,If the source data codes the stop reason in an OMOP supported vocabulary store the concept_id here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA payer_plan_period,stop_reason_source_concept_id,No,integer,NA,If the source data codes the stop reason in an OMOP supported vocabulary store the concept_id here.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,cost_id,Yes,bigint,A unique identifier for each COST record.,NA,Yes,No,NA,NA,NA,NA,NA cost,cost_id,Yes,bigint,A unique identifier for each COST record.,NA,Yes,No,NA,NA,NA,NA,NA
cost,person_id,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA cost,person_id,Yes,bigint,NA,NA,No,No,NA,NA,NA,NA,NA
cost,cost_event_id,Yes,bigint,"If the Cost record is related to another record in the database, this field is the primary key of the linked record.","Put the primary key of the linked record, if applicable, here.",No,No,NA,NA,NA,NA,NA cost,cost_event_id,Yes,bigint,"If the Cost record is related to another record in the database, this field is the primary key of the linked record.","Put the primary key of the linked record, if applicable, here.",No,No,NA,NA,NA,NA,NA
cost,cost_event_field_concept_id,Yes,integer,"If the Cost record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from.",Put the CONCEPT_ID that identifies which table and field the COST_EVENT_ID came from.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cost,cost_event_field_concept_id,Yes,integer,"If the Cost record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from.",Put the CONCEPT_ID that identifies which table and field the COST_EVENT_ID came from.,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,cost_concept_id,No,integer,A foreign key that refers to a Standard Cost Concept identifier in the Standardized Vocabularies belonging to the 'Cost' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cost,cost_concept_id,No,integer,A foreign key that refers to a Standard Cost Concept identifier in the Standardized Vocabularies belonging to the 'Cost' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,cost_type_concept_id,No,integer,A foreign key identifier to a concept in the CONCEPT table for the provenance or the source of the COST data and belonging to the 'Type Concept' vocabulary,NA,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA cost,cost_type_concept_id,No,integer,A foreign key identifier to a concept in the CONCEPT table for the provenance or the source of the COST data and belonging to the 'Type Concept' vocabulary,NA,No,Yes,CONCEPT,CONCEPT_ID,Type Concept,NA,NA
cost,cost_source_concept_id,No,integer,A foreign key to a Cost Concept that refers to the code used in the source.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cost,cost_source_concept_id,No,integer,A foreign key to a Cost Concept that refers to the code used in the source.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,cost_source_value,No,varchar(50),The source value for the cost as it appears in the source data,NA,No,No,NA,NA,NA,NA,NA cost,cost_source_value,No,varchar(50),The source value for the cost as it appears in the source data,NA,No,No,NA,NA,NA,NA,NA
cost,currency_concept_id,No,integer,"A foreign key identifier to the concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. These belong to the 'Currency' vocabulary",NA,No,No,CONCEPT,CONCEPT_ID,NA,NA,NA cost,currency_concept_id,No,integer,"A foreign key identifier to the concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. These belong to the 'Currency' vocabulary",NA,No,No,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,cost,No,float,The actual financial cost amount,NA,No,No,NA,NA,NA,NA,NA cost,cost,No,float,The actual financial cost amount,NA,No,No,NA,NA,NA,NA,NA
cost,incurred_date,No,date,"The first date of service of the clinical event corresponding to the cost as in table capturing the information (e.g. date of visit, date of procedure, date of condition, date of drug etc).",NA,No,No,NA,NA,NA,NA,NA cost,incurred_date,No,date,"The first date of service of the clinical event corresponding to the cost as in table capturing the information (e.g. date of visit, date of procedure, date of condition, date of drug etc).",NA,No,No,NA,NA,NA,NA,NA
cost,billed_date,No,date,The date a bill was generated for a service or encounter,NA,No,No,NA,NA,NA,NA,NA cost,billed_date,No,date,The date a bill was generated for a service or encounter,NA,No,No,NA,NA,NA,NA,NA
cost,paid_date,No,date,The date payment was received for a service or encounter,NA,No,No,NA,NA,NA,NA,NA cost,paid_date,No,date,The date payment was received for a service or encounter,NA,No,No,NA,NA,NA,NA,NA
cost,revenue_code_concept_id,No,integer,A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for Revenue codes belonging to the 'Revenue Code' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cost,revenue_code_concept_id,No,integer,A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for Revenue codes belonging to the 'Revenue Code' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,drg_concept_id,No,integer,A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for DRG codes belonging to the 'DRG' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cost,drg_concept_id,No,integer,A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for DRG codes belonging to the 'DRG' vocabulary.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cost,revenue_code_source_value,No,varchar(50),"The source value for the Revenue code as it appears in the source data, stored here for reference.",NA,No,No,NA,NA,NA,NA,NA cost,revenue_code_source_value,No,varchar(50),"The source value for the Revenue code as it appears in the source data, stored here for reference.",NA,No,No,NA,NA,NA,NA,NA
cost,drg_source_value,No,varchar(50),"The source value for the 3-digit DRG source code as it appears in the source data, stored here for reference.",NA,No,No,NA,NA,NA,NA,NA cost,drg_source_value,No,varchar(50),"The source value for the 3-digit DRG source code as it appears in the source data, stored here for reference.",NA,No,No,NA,NA,NA,NA,NA
cost,payer_plan_period_id,No,bigint,"A foreign key to the PAYER_PLAN_PERIOD table, where the details of the Payer, Plan and Family are stored. Record the payer_plan_id that relates to the payer who contributed to the paid_by_payer field.",NA,No,No,NA,NA,NA,NA,NA cost,payer_plan_period_id,No,bigint,"A foreign key to the PAYER_PLAN_PERIOD table, where the details of the Payer, Plan and Family are stored. Record the payer_plan_id that relates to the payer who contributed to the paid_by_payer field.",NA,No,No,NA,NA,NA,NA,NA
drug_era,drug_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA drug_era,drug_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA
drug_era,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA drug_era,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
drug_era,drug_concept_id,Yes,integer,The Concept Id representing the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Drug,Ingredient,NA drug_era,drug_concept_id,Yes,integer,The Concept Id representing the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Drug,Ingredient,NA
drug_era,drug_era_start_datetime,Yes,datetime,NA,"The Drug Era Start Date is the start date of the first Drug Exposure for a given ingredient, with at least 31 days since the previous exposure.",No,No,NA,NA,NA,NA,NA drug_era,drug_era_start_datetime,Yes,datetime,NA,"The Drug Era Start Date is the start date of the first Drug Exposure for a given ingredient, with at least 31 days since the previous exposure.",No,No,NA,NA,NA,NA,NA
drug_era,drug_era_end_datetime,Yes,datetime,NA,"The Drug Era End Date is the end date of the last Drug Exposure. The End Date of each Drug Exposure is either taken from the field drug_exposure_end_date or, as it is typically not available, inferred using the following rules: drug_era,drug_era_end_datetime,Yes,datetime,NA,"The Drug Era End Date is the end date of the last Drug Exposure. The End Date of each Drug Exposure is either taken from the field drug_exposure_end_date or, as it is typically not available, inferred using the following rules:
For pharmacy prescription data, the date when the drug was dispensed plus the number of days of supply are used to extrapolate the End Date for the Drug Exposure. Depending on the country-specific healthcare system, this supply information is either explicitly provided in the day_supply field or inferred from package size or similar information. For pharmacy prescription data, the date when the drug was dispensed plus the number of days of supply are used to extrapolate the End Date for the Drug Exposure. Depending on the country-specific healthcare system, this supply information is either explicitly provided in the day_supply field or inferred from package size or similar information.
For Procedure Drugs, usually the drug is administered on a single date (i.e., the administration date). For Procedure Drugs, usually the drug is administered on a single date (i.e., the administration date).
A standard Persistence Window of 30 days (gap, slack) is permitted between two subsequent such extrapolated DRUG_EXPOSURE records to be considered to be merged into a single Drug Era.",No,No,NA,NA,NA,NA,NA A standard Persistence Window of 30 days (gap, slack) is permitted between two subsequent such extrapolated DRUG_EXPOSURE records to be considered to be merged into a single Drug Era.",No,No,NA,NA,NA,NA,NA
drug_era,drug_exposure_count,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA drug_era,drug_exposure_count,No,integer,NA,NA,No,No,NA,NA,NA,NA,NA
drug_era,gap_days,No,integer,NA,"The Gap Days determine how many total drug-free days are observed between all Drug Exposure events that contribute to a DRUG_ERA record. It is assumed that the drugs are ""not stockpiled"" by the patient, i.e. that if a new drug prescription or refill is observed (a new DRUG_EXPOSURE record is written), the remaining supply from the previous events is abandoned. The difference between Persistence Window and Gap Days is that the former is the maximum drug-free time allowed between two subsequent DRUG_EXPOSURE records, while the latter is the sum of actual drug-free days for the given Drug Era under the above assumption of non-stockpiling.",No,No,NA,NA,NA,NA,NA drug_era,gap_days,No,integer,NA,"The Gap Days determine how many total drug-free days are observed between all Drug Exposure events that contribute to a DRUG_ERA record. It is assumed that the drugs are ""not stockpiled"" by the patient, i.e. that if a new drug prescription or refill is observed (a new DRUG_EXPOSURE record is written), the remaining supply from the previous events is abandoned. The difference between Persistence Window and Gap Days is that the former is the maximum drug-free time allowed between two subsequent DRUG_EXPOSURE records, while the latter is the sum of actual drug-free days for the given Drug Era under the above assumption of non-stockpiling.",No,No,NA,NA,NA,NA,NA
dose_era,dose_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA dose_era,dose_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA
dose_era,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA dose_era,person_id,Yes,bigint,NA,NA,No,Yes,PERSON,PERSON_ID,NA,NA,NA
dose_era,drug_concept_id,Yes,integer,The Concept Id representing the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Drug,Ingredient,NA dose_era,drug_concept_id,Yes,integer,The Concept Id representing the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Drug,Ingredient,NA
dose_era,unit_concept_id,Yes,integer,The Concept Id representing the unit of the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA dose_era,unit_concept_id,Yes,integer,The Concept Id representing the unit of the specific drug ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,Unit,NA,NA
dose_era,dose_value,Yes,float,The numeric value of the dosage of the drug_ingredient.,NA,No,No,NA,NA,NA,NA,NA dose_era,dose_value,Yes,float,The numeric value of the dosage of the drug_ingredient.,NA,No,No,NA,NA,NA,NA,NA
dose_era,dose_era_start_datetime,Yes,datetime,"The date the Person started on the specific dosage, with at least 31 days since any prior exposure.",NA,No,No,NA,NA,NA,NA,NA dose_era,dose_era_start_datetime,Yes,datetime,"The date the Person started on the specific dosage, with at least 31 days since any prior exposure.",NA,No,No,NA,NA,NA,NA,NA
dose_era,dose_era_end_datetime,Yes,datetime,NA,The date the Person was no longer exposed to the dosage of the specific drug ingredient. An era is ended if there are 31 days or more between dosage records.,No,No,NA,NA,NA,NA,NA dose_era,dose_era_end_datetime,Yes,datetime,NA,The date the Person was no longer exposed to the dosage of the specific drug ingredient. An era is ended if there are 31 days or more between dosage records.,No,No,NA,NA,NA,NA,NA
condition_era,condition_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA condition_era,condition_era_id,Yes,bigint,NA,NA,Yes,No,NA,NA,NA,NA,NA
condition_era,person_id,Yes,bigint,NA,NA,No,No,PERSON,PERSON_ID,NA,NA,NA condition_era,person_id,Yes,bigint,NA,NA,No,No,PERSON,PERSON_ID,NA,NA,NA
condition_era,condition_concept_id,Yes,integer,The Concept Id representing the Condition.,NA,No,Yes,CONCEPT,CONCEPT_ID,Condition,NA,NA condition_era,condition_concept_id,Yes,integer,The Concept Id representing the Condition.,NA,No,Yes,CONCEPT,CONCEPT_ID,Condition,NA,NA
condition_era,condition_era_start_datetime,Yes,datetime,"The start date for the Condition Era condition_era,condition_era_start_datetime,Yes,datetime,"The start date for the Condition Era
constructed from the individual constructed from the individual
instances of Condition Occurrences. instances of Condition Occurrences.
It is the start date of the very first It is the start date of the very first
chronologically recorded instance of chronologically recorded instance of
the condition with at least 31 days since any prior record of the same Condition.",NA,No,No,NA,NA,NA,NA,NA the condition with at least 31 days since any prior record of the same Condition.",NA,No,No,NA,NA,NA,NA,NA
condition_era,condition_era_end_datetime,Yes,datetime,"The end date for the Condition Era condition_era,condition_era_end_datetime,Yes,datetime,"The end date for the Condition Era
constructed from the individual constructed from the individual
instances of Condition Occurrences. instances of Condition Occurrences.
It is the end date of the final It is the end date of the final
continuously recorded instance of the continuously recorded instance of the
Condition.",NA,No,No,NA,NA,NA,NA,NA Condition.",NA,No,No,NA,NA,NA,NA,NA
condition_era,condition_occurrence_count,No,integer,"The number of individual Condition condition_era,condition_occurrence_count,No,integer,"The number of individual Condition
Occurrences used to construct the Occurrences used to construct the
condition era.",NA,No,No,NA,NA,NA,NA,NA condition era.",NA,No,No,NA,NA,NA,NA,NA
metadata,metadata_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA metadata,metadata_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
metadata,metadata_type_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA metadata,metadata_type_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
metadata,name,Yes,varchar(250),NA,NA,No,No,NA,NA,NA,NA,NA metadata,name,Yes,varchar(250),NA,NA,No,No,NA,NA,NA,NA,NA
metadata,value_as_string,No,varchar(250),NA,NA,No,No,NA,NA,NA,NA,NA metadata,value_as_string,No,varchar(250),NA,NA,No,No,NA,NA,NA,NA,NA
metadata,value_as_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA metadata,value_as_concept_id,No,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
metadata,metadata_date,No,date,NA,NA,No,No,NA,NA,NA,NA,NA metadata,metadata_date,No,date,NA,NA,No,No,NA,NA,NA,NA,NA
metadata,metadata_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA metadata,metadata_datetime,No,datetime,NA,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_source_name,Yes,varchar(255),The name of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA cdm_source,cdm_source_name,Yes,varchar(255),The name of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_source_abbreviation,No,varchar(25),The abbreviation of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA cdm_source,cdm_source_abbreviation,No,varchar(25),The abbreviation of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_holder,No,varchar(255),The holder of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA cdm_source,cdm_holder,No,varchar(255),The holder of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,source_description,No,varchar(MAX),The description of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA cdm_source,source_description,No,varchar(MAX),The description of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,source_documentation_reference,No,varchar(255),NA,NA,No,No,NA,NA,NA,NA,NA cdm_source,source_documentation_reference,No,varchar(255),NA,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_etl_reference,No,varchar(255),NA,Put the link to the CDM version used.,No,No,NA,NA,NA,NA,NA cdm_source,cdm_etl_reference,No,varchar(255),NA,Put the link to the CDM version used.,No,No,NA,NA,NA,NA,NA
cdm_source,source_release_date,No,date,The release date of the source data.,NA,No,No,NA,NA,NA,NA,NA cdm_source,source_release_date,No,date,The release date of the source data.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_release_date,No,date,The release data of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA cdm_source,cdm_release_date,No,date,The release data of the CDM instance.,NA,No,No,NA,NA,NA,NA,NA
cdm_source,cdm_version,No,varchar(10),NA,NA,No,No,NA,NA,NA,NA,NA cdm_source,cdm_version,No,varchar(10),NA,NA,No,No,NA,NA,NA,NA,NA
cdm_source,vocabulary_version,No,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA cdm_source,vocabulary_version,No,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA
concept,concept_id,Yes,integer,A unique identifier for each Concept across all domains.,NA,Yes,No,NA,NA,NA,NA,NA concept,concept_id,Yes,integer,A unique identifier for each Concept across all domains.,NA,Yes,No,NA,NA,NA,NA,NA
concept,concept_name,Yes,varchar(255),"An unambiguous, meaningful and descriptive name for the Concept.",NA,No,No,NA,NA,NA,NA,NA concept,concept_name,Yes,varchar(255),"An unambiguous, meaningful and descriptive name for the Concept.",NA,No,No,NA,NA,NA,NA,NA
concept,domain_id,Yes,varchar(20),A foreign key to the [DOMAIN](https://ohdsi.github.io/CommonDataModel/cdm531.html#domain) table the Concept belongs to.,NA,No,Yes,DOMAIN,DOMAIN_ID,NA,NA,NA concept,domain_id,Yes,varchar(20),A foreign key to the [DOMAIN](https://ohdsi.github.io/CommonDataModel/cdm531.html#domain) table the Concept belongs to.,NA,No,Yes,DOMAIN,DOMAIN_ID,NA,NA,NA
concept,vocabulary_id,Yes,varchar(20),"A foreign key to the [VOCABULARY](https://ohdsi.github.io/CommonDataModel/cdm531.html#vocabulary) concept,vocabulary_id,Yes,varchar(20),"A foreign key to the [VOCABULARY](https://ohdsi.github.io/CommonDataModel/cdm531.html#vocabulary)
table indicating from which source the table indicating from which source the
Concept has been adapted.",NA,No,Yes,VOCABULARY,VOCABULARY_ID,NA,NA,NA Concept has been adapted.",NA,No,Yes,VOCABULARY,VOCABULARY_ID,NA,NA,NA
concept,concept_class_id,Yes,varchar(20),"The attribute or concept class of the concept,concept_class_id,Yes,varchar(20),"The attribute or concept class of the
Concept. Examples are 'Clinical Drug', Concept. Examples are 'Clinical Drug',
'Ingredient', 'Clinical Finding' etc.",NA,No,Yes,CONCEPT_CLASS,CONCEPT_CLASS_ID,NA,NA,NA 'Ingredient', 'Clinical Finding' etc.",NA,No,Yes,CONCEPT_CLASS,CONCEPT_CLASS_ID,NA,NA,NA
concept,standard_concept,No,varchar(1),"This flag determines where a Concept is concept,standard_concept,No,varchar(1),"This flag determines where a Concept is
a Standard Concept, i.e. is used in the a Standard Concept, i.e. is used in the
data, a Classification Concept, or a data, a Classification Concept, or a
non-standard Source Concept. The non-standard Source Concept. The
allowable values are 'S' (Standard allowable values are 'S' (Standard
Concept) and 'C' (Classification Concept) and 'C' (Classification
Concept), otherwise the content is NULL.",NA,No,No,NA,NA,NA,NA,NA Concept), otherwise the content is NULL.",NA,No,No,NA,NA,NA,NA,NA
concept,concept_code,Yes,varchar(50),"The concept code represents the identifier concept,concept_code,Yes,varchar(50),"The concept code represents the identifier
of the Concept in the source vocabulary, of the Concept in the source vocabulary,
such as SNOMED-CT concept IDs, such as SNOMED-CT concept IDs,
RxNorm RXCUIs etc. Note that concept RxNorm RXCUIs etc. Note that concept
codes are not unique across vocabularies.",NA,No,No,NA,NA,NA,NA,NA codes are not unique across vocabularies.",NA,No,No,NA,NA,NA,NA,NA
concept,valid_start_date,Yes,date,"The date when the Concept was first concept,valid_start_date,Yes,date,"The date when the Concept was first
recorded. The default value is recorded. The default value is
1-Jan-1970, meaning, the Concept has no 1-Jan-1970, meaning, the Concept has no
(known) date of inception.",NA,No,No,NA,NA,NA,NA,NA (known) date of inception.",NA,No,No,NA,NA,NA,NA,NA
concept,valid_end_date,Yes,date,"The date when the Concept became concept,valid_end_date,Yes,date,"The date when the Concept became
invalid because it was deleted or invalid because it was deleted or
superseded (updated) by a new concept. superseded (updated) by a new concept.
The default value is 31-Dec-2099, The default value is 31-Dec-2099,
meaning, the Concept is valid until it meaning, the Concept is valid until it
becomes deprecated.",NA,No,No,NA,NA,NA,NA,NA becomes deprecated.",NA,No,No,NA,NA,NA,NA,NA
concept,invalid_reason,No,varchar(1),"Reason the Concept was invalidated. concept,invalid_reason,No,varchar(1),"Reason the Concept was invalidated.
Possible values are D (deleted), U Possible values are D (deleted), U
(replaced with an update) or NULL when (replaced with an update) or NULL when
valid_end_date has the default value.",NA,No,No,NA,NA,NA,NA,NA valid_end_date has the default value.",NA,No,No,NA,NA,NA,NA,NA
vocabulary,vocabulary_id,Yes,varchar(20),"A unique identifier for each Vocabulary, such vocabulary,vocabulary_id,Yes,varchar(20),"A unique identifier for each Vocabulary, such
as ICD9CM, SNOMED, Visit.",NA,Yes,No,NA,NA,NA,NA,NA as ICD9CM, SNOMED, Visit.",NA,Yes,No,NA,NA,NA,NA,NA
vocabulary,vocabulary_name,Yes,varchar(255),"The name describing the vocabulary, for vocabulary,vocabulary_name,Yes,varchar(255),"The name describing the vocabulary, for
example International Classification of example International Classification of
Diseases, Ninth Revision, Clinical Diseases, Ninth Revision, Clinical
Modification, Volume 1 and 2 (NCHS) etc.",NA,No,No,NA,NA,NA,NA,NA Modification, Volume 1 and 2 (NCHS) etc.",NA,No,No,NA,NA,NA,NA,NA
vocabulary,vocabulary_reference,Yes,varchar(255),"External reference to documentation or vocabulary,vocabulary_reference,Yes,varchar(255),"External reference to documentation or
available download of the about the available download of the about the
vocabulary.",NA,No,No,NA,NA,NA,NA,NA vocabulary.",NA,No,No,NA,NA,NA,NA,NA
vocabulary,vocabulary_version,No,varchar(255),"Version of the Vocabulary as indicated in vocabulary,vocabulary_version,No,varchar(255),"Version of the Vocabulary as indicated in
the source.",NA,No,No,NA,NA,NA,NA,NA the source.",NA,No,No,NA,NA,NA,NA,NA
vocabulary,vocabulary_concept_id,Yes,integer,A Concept that represents the Vocabulary the VOCABULARY record belongs to.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA vocabulary,vocabulary_concept_id,Yes,integer,A Concept that represents the Vocabulary the VOCABULARY record belongs to.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
domain,domain_id,Yes,varchar(20),A unique key for each domain.,NA,Yes,No,NA,NA,NA,NA,NA domain,domain_id,Yes,varchar(20),A unique key for each domain.,NA,Yes,No,NA,NA,NA,NA,NA
domain,domain_name,Yes,varchar(255),"The name describing the Domain, e.g. domain,domain_name,Yes,varchar(255),"The name describing the Domain, e.g.
Condition, Procedure, Measurement Condition, Procedure, Measurement
etc.",NA,No,No,NA,NA,NA,NA,NA etc.",NA,No,No,NA,NA,NA,NA,NA
domain,domain_concept_id,Yes,integer,A Concept representing the Domain Concept the DOMAIN record belongs to.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA domain,domain_concept_id,Yes,integer,A Concept representing the Domain Concept the DOMAIN record belongs to.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_class,concept_class_id,Yes,varchar(20),A unique key for each class.,NA,Yes,No,NA,NA,NA,NA,NA concept_class,concept_class_id,Yes,varchar(20),A unique key for each class.,NA,Yes,No,NA,NA,NA,NA,NA
concept_class,concept_class_name,Yes,varchar(255),"The name describing the Concept Class, e.g. concept_class,concept_class_name,Yes,varchar(255),"The name describing the Concept Class, e.g.
Clinical Finding, Ingredient, etc.",NA,No,No,NA,NA,NA,NA,NA Clinical Finding, Ingredient, etc.",NA,No,No,NA,NA,NA,NA,NA
concept_class,concept_class_concept_id,Yes,integer,A Concept that represents the Concept Class.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA concept_class,concept_class_concept_id,Yes,integer,A Concept that represents the Concept Class.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_relationship,concept_id_1,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA concept_relationship,concept_id_1,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_relationship,concept_id_2,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA concept_relationship,concept_id_2,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_relationship,relationship_id,Yes,varchar(20),The relationship between CONCEPT_ID_1 and CONCEPT_ID_2. Please see the [Vocabulary Conventions](https://ohdsi.github.io/CommonDataModel/dataModelConventions.html#concept_relationships). for more information.,NA,No,Yes,RELATIONSHIP,RELATIONSHIP_ID,NA,NA,NA concept_relationship,relationship_id,Yes,varchar(20),The relationship between CONCEPT_ID_1 and CONCEPT_ID_2. Please see the [Vocabulary Conventions](https://ohdsi.github.io/CommonDataModel/dataModelConventions.html#concept_relationships). for more information.,NA,No,Yes,RELATIONSHIP,RELATIONSHIP_ID,NA,NA,NA
concept_relationship,valid_start_date,Yes,date,The date when the relationship is first recorded.,NA,No,No,NA,NA,NA,NA,NA concept_relationship,valid_start_date,Yes,date,The date when the relationship is first recorded.,NA,No,No,NA,NA,NA,NA,NA
concept_relationship,valid_end_date,Yes,date,The date when the relationship is invalidated.,NA,No,No,NA,NA,NA,NA,NA concept_relationship,valid_end_date,Yes,date,The date when the relationship is invalidated.,NA,No,No,NA,NA,NA,NA,NA
concept_relationship,invalid_reason,No,varchar(1),"Reason the relationship was invalidated. Possible values are 'D' (deleted), 'U' (updated) or NULL.",NA,No,No,NA,NA,NA,NA,NA concept_relationship,invalid_reason,No,varchar(1),"Reason the relationship was invalidated. Possible values are 'D' (deleted), 'U' (updated) or NULL.",NA,No,No,NA,NA,NA,NA,NA
relationship,relationship_id,Yes,varchar(20),NA,NA,Yes,No,NA,NA,NA,NA,NA relationship,relationship_id,Yes,varchar(20),NA,NA,Yes,No,NA,NA,NA,NA,NA
relationship,relationship_name,Yes,varchar(255),NA,NA,No,No,NA,NA,NA,NA,NA relationship,relationship_name,Yes,varchar(255),NA,NA,No,No,NA,NA,NA,NA,NA
relationship,is_hierarchical,Yes,varchar(1),NA,NA,No,No,NA,NA,NA,NA,NA relationship,is_hierarchical,Yes,varchar(1),NA,NA,No,No,NA,NA,NA,NA,NA
relationship,defines_ancestry,Yes,varchar(1),NA,NA,No,No,NA,NA,NA,NA,NA relationship,defines_ancestry,Yes,varchar(1),NA,NA,No,No,NA,NA,NA,NA,NA
relationship,reverse_relationship_id,Yes,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA relationship,reverse_relationship_id,Yes,varchar(20),NA,NA,No,No,NA,NA,NA,NA,NA
relationship,relationship_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA relationship,relationship_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_synonym,concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA concept_synonym,concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_synonym,concept_synonym_name,Yes,varchar(1000),NA,NA,No,No,NA,NA,NA,NA,NA concept_synonym,concept_synonym_name,Yes,varchar(1000),NA,NA,No,No,NA,NA,NA,NA,NA
concept_synonym,language_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA concept_synonym,language_concept_id,Yes,integer,NA,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_ancestor,ancestor_concept_id,Yes,integer,"The Concept Id for the higher-level concept concept_ancestor,ancestor_concept_id,Yes,integer,"The Concept Id for the higher-level concept
that forms the ancestor in the relationship.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA that forms the ancestor in the relationship.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_ancestor,descendant_concept_id,Yes,integer,"The Concept Id for the lower-level concept concept_ancestor,descendant_concept_id,Yes,integer,"The Concept Id for the lower-level concept
that forms the descendant in the that forms the descendant in the
relationship.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA relationship.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
concept_ancestor,min_levels_of_separation,Yes,integer,"The minimum separation in number of concept_ancestor,min_levels_of_separation,Yes,integer,"The minimum separation in number of
levels of hierarchy between ancestor and levels of hierarchy between ancestor and
descendant concepts. This is an attribute descendant concepts. This is an attribute
that is used to simplify hierarchic analysis.",NA,No,No,NA,NA,NA,NA,NA that is used to simplify hierarchic analysis.",NA,No,No,NA,NA,NA,NA,NA
concept_ancestor,max_levels_of_separation,Yes,integer,"The maximum separation in number of concept_ancestor,max_levels_of_separation,Yes,integer,"The maximum separation in number of
levels of hierarchy between ancestor and levels of hierarchy between ancestor and
descendant concepts. This is an attribute descendant concepts. This is an attribute
that is used to simplify hierarchic analysis.",NA,No,No,NA,NA,NA,NA,NA that is used to simplify hierarchic analysis.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,source_code,Yes,varchar(50),"The source code being translated source_to_concept_map,source_code,Yes,varchar(50),"The source code being translated
into a Standard Concept.",NA,No,No,NA,NA,NA,NA,NA into a Standard Concept.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,source_concept_id,Yes,integer,"A foreign key to the Source source_to_concept_map,source_concept_id,Yes,integer,"A foreign key to the Source
Concept that is being translated Concept that is being translated
into a Standard Concept.","This is either 0 or should be a number above 2 billion, which are the Concepts reserved for site-specific codes and mappings.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA into a Standard Concept.","This is either 0 or should be a number above 2 billion, which are the Concepts reserved for site-specific codes and mappings.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
source_to_concept_map,source_vocabulary_id,Yes,varchar(20),"A foreign key to the source_to_concept_map,source_vocabulary_id,Yes,varchar(20),"A foreign key to the
VOCABULARY table defining the VOCABULARY table defining the
vocabulary of the source code that vocabulary of the source code that
is being translated to a Standard is being translated to a Standard
Concept.",NA,No,No,NA,NA,NA,NA,NA Concept.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,source_code_description,No,varchar(255),"An optional description for the source_to_concept_map,source_code_description,No,varchar(255),"An optional description for the
source code. This is included as a source code. This is included as a
convenience to compare the convenience to compare the
description of the source code to description of the source code to
the name of the concept.",NA,No,No,NA,NA,NA,NA,NA the name of the concept.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,target_concept_id,Yes,integer,"The target Concept source_to_concept_map,target_concept_id,Yes,integer,"The target Concept
to which the source code is being to which the source code is being
mapped.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA mapped.",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
source_to_concept_map,target_vocabulary_id,Yes,varchar(20),The Vocabulary of the target Concept.,NA,No,Yes,VOCABULARY,VOCABULARY_ID,NA,NA,NA source_to_concept_map,target_vocabulary_id,Yes,varchar(20),The Vocabulary of the target Concept.,NA,No,Yes,VOCABULARY,VOCABULARY_ID,NA,NA,NA
source_to_concept_map,valid_start_date,Yes,date,"The date when the mapping source_to_concept_map,valid_start_date,Yes,date,"The date when the mapping
instance was first recorded.",NA,No,No,NA,NA,NA,NA,NA instance was first recorded.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,valid_end_date,Yes,date,"The date when the mapping source_to_concept_map,valid_end_date,Yes,date,"The date when the mapping
instance became invalid because it instance became invalid because it
was deleted or superseded was deleted or superseded
(updated) by a new relationship. (updated) by a new relationship.
Default value is 31-Dec-2099.",NA,No,No,NA,NA,NA,NA,NA Default value is 31-Dec-2099.",NA,No,No,NA,NA,NA,NA,NA
source_to_concept_map,invalid_reason,No,varchar(1),"Reason the mapping instance was source_to_concept_map,invalid_reason,No,varchar(1),"Reason the mapping instance was
invalidated. Possible values are D invalidated. Possible values are D
(deleted), U (replaced with an (deleted), U (replaced with an
update) or NULL when update) or NULL when
valid_end_date has the default valid_end_date has the default
value.",NA,No,No,NA,NA,NA,NA,NA value.",NA,No,No,NA,NA,NA,NA,NA
drug_strength,drug_concept_id,Yes,integer,The Concept representing the Branded Drug or Clinical Drug Product.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_strength,drug_concept_id,Yes,integer,The Concept representing the Branded Drug or Clinical Drug Product.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_strength,ingredient_concept_id,Yes,integer,The Concept representing the active ingredient contained within the drug product.,"Combination Drugs will have more than one record in this table, one for each active Ingredient.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_strength,ingredient_concept_id,Yes,integer,The Concept representing the active ingredient contained within the drug product.,"Combination Drugs will have more than one record in this table, one for each active Ingredient.",No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_strength,amount_value,No,float,The numeric value or the amount of active ingredient contained within the drug product.,NA,No,No,NA,NA,NA,NA,NA drug_strength,amount_value,No,float,The numeric value or the amount of active ingredient contained within the drug product.,NA,No,No,NA,NA,NA,NA,NA
drug_strength,amount_unit_concept_id,No,integer,The Concept representing the Unit of measure for the amount of active ingredient contained within the drug product.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_strength,amount_unit_concept_id,No,integer,The Concept representing the Unit of measure for the amount of active ingredient contained within the drug product.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_strength,numerator_value,No,float,The concentration of the active ingredient contained within the drug product.,NA,No,No,NA,NA,NA,NA,NA drug_strength,numerator_value,No,float,The concentration of the active ingredient contained within the drug product.,NA,No,No,NA,NA,NA,NA,NA
drug_strength,numerator_unit_concept_id,No,integer,The Concept representing the Unit of measure for the concentration of active ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_strength,numerator_unit_concept_id,No,integer,The Concept representing the Unit of measure for the concentration of active ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_strength,denominator_value,No,float,"The amount of total liquid (or other divisible product, such as ointment, gel, spray, etc.).",NA,No,No,NA,NA,NA,NA,NA drug_strength,denominator_value,No,float,"The amount of total liquid (or other divisible product, such as ointment, gel, spray, etc.).",NA,No,No,NA,NA,NA,NA,NA
drug_strength,denominator_unit_concept_id,No,integer,The Concept representing the denominator unit for the concentration of active ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA drug_strength,denominator_unit_concept_id,No,integer,The Concept representing the denominator unit for the concentration of active ingredient.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
drug_strength,box_size,No,integer,The number of units of Clinical Branded Drug or Quantified Clinical or Branded Drug contained in a box as dispensed to the patient.,NA,No,No,NA,NA,NA,NA,NA drug_strength,box_size,No,integer,The number of units of Clinical Branded Drug or Quantified Clinical or Branded Drug contained in a box as dispensed to the patient.,NA,No,No,NA,NA,NA,NA,NA
drug_strength,valid_start_date,Yes,date,"The date when the Concept was first drug_strength,valid_start_date,Yes,date,"The date when the Concept was first
recorded. The default value is recorded. The default value is
1-Jan-1970.",NA,No,No,NA,NA,NA,NA,NA 1-Jan-1970.",NA,No,No,NA,NA,NA,NA,NA
drug_strength,valid_end_date,Yes,date,The date when then Concept became invalid.,NA,No,No,NA,NA,NA,NA,NA drug_strength,valid_end_date,Yes,date,The date when then Concept became invalid.,NA,No,No,NA,NA,NA,NA,NA
drug_strength,invalid_reason,No,varchar(1),"Reason the concept was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value.",NA,No,No,NA,NA,NA,NA,NA drug_strength,invalid_reason,No,varchar(1),"Reason the concept was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value.",NA,No,No,NA,NA,NA,NA,NA
cohort,cohort_definition_id,Yes,integer,NA,NA,No,No,NA,NA,NA,NA,NA cohort,cohort_definition_id,Yes,integer,NA,NA,No,No,NA,NA,NA,NA,NA
cohort,subject_id,Yes,integer,NA,NA,No,No,NA,NA,NA,NA,NA cohort,subject_id,Yes,integer,NA,NA,No,No,NA,NA,NA,NA,NA
cohort,cohort_start_date,Yes,date,NA,NA,No,No,NA,NA,NA,NA,NA cohort,cohort_start_date,Yes,date,NA,NA,No,No,NA,NA,NA,NA,NA
cohort,cohort_end_date,Yes,date,NA,NA,No,No,NA,NA,NA,NA,NA cohort,cohort_end_date,Yes,date,NA,NA,No,No,NA,NA,NA,NA,NA
cohort_definition,cohort_definition_id,Yes,integer,"This is the identifier given to the cohort, usually by the ATLAS application",NA,No,Yes,COHORT,COHORT_DEFINITION_ID,NA,NA,NA cohort_definition,cohort_definition_id,Yes,integer,"This is the identifier given to the cohort, usually by the ATLAS application",NA,No,Yes,COHORT,COHORT_DEFINITION_ID,NA,NA,NA
cohort_definition,cohort_definition_name,Yes,varchar(255),A short description of the cohort,NA,No,No,NA,NA,NA,NA,NA cohort_definition,cohort_definition_name,Yes,varchar(255),A short description of the cohort,NA,No,No,NA,NA,NA,NA,NA
cohort_definition,cohort_definition_description,No,varchar(MAX),A complete description of the cohort.,NA,No,No,NA,NA,NA,NA,NA cohort_definition,cohort_definition_description,No,varchar(MAX),A complete description of the cohort.,NA,No,No,NA,NA,NA,NA,NA
cohort_definition,definition_type_concept_id,Yes,integer,Type defining what kind of Cohort Definition the record represents and how the syntax may be executed.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cohort_definition,definition_type_concept_id,Yes,integer,Type defining what kind of Cohort Definition the record represents and how the syntax may be executed.,NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cohort_definition,cohort_definition_syntax,No,varchar(MAX),Syntax or code to operationalize the Cohort Definition.,NA,No,No,NA,NA,NA,NA,NA cohort_definition,cohort_definition_syntax,No,varchar(MAX),Syntax or code to operationalize the Cohort Definition.,NA,No,No,NA,NA,NA,NA,NA
cohort_definition,subject_concept_id,Yes,integer,"This field contains a Concept that represents the domain of the subjects that are members of the cohort (e.g., Person, Provider, Visit).",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA cohort_definition,subject_concept_id,Yes,integer,"This field contains a Concept that represents the domain of the subjects that are members of the cohort (e.g., Person, Provider, Visit).",NA,No,Yes,CONCEPT,CONCEPT_ID,NA,NA,NA
cohort_definition,cohort_initiation_date,No,date,A date to indicate when the Cohort was initiated in the COHORT table.,NA,No,No,NA,NA,NA,NA,NA cohort_definition,cohort_initiation_date,No,date,A date to indicate when the Cohort was initiated in the COHORT table.,NA,No,No,NA,NA,NA,NA,NA
1 cdmTableName cdmFieldName isRequired cdmDatatype userGuidance etlConventions isPrimaryKey isForeignKey fkTableName fkFieldName fkDomain fkClass unique DQ identifiers
2 person person_id Yes bigint It is assumed that every person with a different unique identifier is in fact a different person and should be treated independently. Any person linkage that needs to occur to uniquely identify Persons ought to be done prior to writing this table. This identifier can be the original id from the source data provided if it is an integer, otherwise it can be an autogenerated number. Yes No NA NA NA NA NA
3 person gender_concept_id Yes integer This field is meant to capture the biological sex at birth of the Person. This field should not be used to study gender identity issues. Use the gender or sex value present in the data under the assumption that it is the biological sex at birth. If the source data captures gender identity it should be stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table. [Accepted gender concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=) No Yes CONCEPT CONCEPT_ID Gender NA NA
4 person year_of_birth Yes integer Compute age using year_of_birth. For data sources with date of birth, the year should be extracted. For data sources where the year of birth is not available, the approximate year of birth could be derived based on age group categorization, if available. No No NA NA NA NA NA
5 person month_of_birth No integer NA For data sources that provide the precise date of birth, the month should be extracted and stored in this field. No No NA NA NA NA NA
6 person day_of_birth No integer NA For data sources that provide the precise date of birth, the day should be extracted and stored in this field. No No NA NA NA NA NA
7 person birth_datetime No datetime NA This field is not required but highly encouraged. For data sources that provide the precise datetime of birth, that value should be stored in this field. If birth_datetime is not provided in the source, use the following logic to infer the date: If day_of_birth is null and month_of_birth is not null then use the first of the month in that year. If month_of_birth is null or if day_of_birth AND month_of_birth are both null and the person has records during their year of birth then use the date of the earliest record, otherwise use the 15th of June of that year. If time of birth is not given use midnight (00:00:0000). No No NA NA NA NA NA
8 person death_datetime No datetime This field is the death date to be used in analysis, as determined by the ETL logic. Any additional information about a Person's death is stored in the [OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table with the concept_id [4306655](https://athena.ohdsi.org/search-terms/terms/4306655) or in the CONDITION_OCCURRENCE . If there are multiple dates of death given for a Person, choose the one that is deemed most reliable. This may be a discharge from the hospital where the Person is listed as deceased or it could be latest death date provided. If a patient has clinical activity more than 60 days after the death date given in the source, it is a viable option to drop the death record as it may have been falsely reported. Similarly, if the death record is from a reputable source (e.g. government provided information) it is also a viable option to remove event records that occur in the data > 60 days after death. NA NA NA NA NA NA NA
9 person race_concept_id Yes integer This field captures race or ethnic background of the person. Only use this field if you have information about race or ethnic background. The Vocabulary contains Concepts about the main races and ethnic backgrounds in a hierarchical system. Due to the imprecise nature of human races and ethnic backgrounds, this is not a perfect system. Mixed races are not supported. If a clear race or ethnic background cannot be established, use Concept_Id 0. [Accepted Race Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Race&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Race NA NA
10 person ethnicity_concept_id Yes integer This field captures Ethnicity as defined by the Office of Management and Budget (OMB) of the US Government: it distinguishes only between "Hispanic" and "Not Hispanic". Races and ethnic backgrounds are not stored here. Only use this field if you have US-based data and a source of this information. Do not attempt to infer Ethnicity from the race or ethnic background of the Person. [Accepted ethnicity concepts](http://athena.ohdsi.org/search-terms/terms?domain=Ethnicity&standardConcept=Standard&page=1&pageSize=15&query=) No Yes CONCEPT CONCEPT_ID Ethnicity NA NA
11 person location_id No bigint The location refers to the physical address of the person. This field should capture the last known location of the person. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table. Put the location_id from the LOCATION table here that represents the most granular location information for the person. This could represent anything from postal code or parts thereof, state, or county for example. Since many databases contain deidentified data, it is common that the precision of the location is reduced to prevent re-identification. This field should capture the last known location. Any prior locations are captured in the [LOCATION_HISTORY](https://ohdsi.github.io/CommonDataModel/cdm60.html#location_history) table. No Yes LOCATION LOCATION_ID NA NA NA
12 person provider_id No bigint The Provider refers to the last known primary care provider (General Practitioner). Put the provider_id from the PROVIDER table of the last known general practitioner of the person. If there are multiple providers, it is up to the ETL to decide which to put here. No Yes PROVIDER PROVIDER_ID NA NA NA
13 person care_site_id No bigint The Care Site refers to where the Provider typically provides the primary care. NA No Yes CARE_SITE CARE_SITE_ID NA NA NA
14 person person_source_value No varchar(50) Use this field to link back to persons in the source data. This is typically used for error checking of ETL logic. Some use cases require the ability to link back to persons in the source data. This field allows for the storing of the person value as it appears in the source. This field is not required but strongly recommended. No No NA NA NA NA NA
15 person gender_source_value No varchar(50) This field is used to store the biological sex of the person from the source data. It is not intended for use in standard analytics but for reference only. Put the biological sex of the person as it appears in the source data. No No NA NA NA NA NA
16 person gender_source_concept_id Yes integer Due to the small number of options, this tends to be zero. If the source data codes biological sex in a non-standard vocabulary, store the concept_id here, otherwise set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
17 person race_source_value No varchar(50) This field is used to store the race of the person from the source data. It is not intended for use in standard analytics but for reference only. Put the race of the person as it appears in the source data. No No NA NA NA NA NA
18 person race_source_concept_id Yes integer Due to the small number of options, this tends to be zero. If the source data codes race in an OMOP supported vocabulary store the concept_id here, otherwise set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
19 person ethnicity_source_value No varchar(50) This field is used to store the ethnicity of the person from the source data. It is not intended for use in standard analytics but for reference only. If the person has an ethnicity other than the OMB standard of "Hispanic" or "Not Hispanic" store that value from the source data here. No No NA NA NA NA NA
20 person ethnicity_source_concept_id Yes integer Due to the small number of options, this tends to be zero. If the source data codes ethnicity in an OMOP supported vocabulary, store the concept_id here, otherwise set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
21 observation_period observation_period_id Yes bigint A Person can have multiple discrete Observation Periods which are identified by the Observation_Period_Id. Assign a unique observation_period_id to each discrete Observation Period for a Person. Yes No NA NA NA NA NA
22 observation_period person_id Yes bigint The Person ID of the PERSON record for which the Observation Period is recorded. NA No Yes PERSON PERSON_ID NA NA NA
23 observation_period observation_period_start_date Yes date Use this date to determine the start date of the Observation Period It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_start_date can be inferred as the earliest Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer. If a Person switches plans but stays with the same payer, and therefore capturing of data continues, that change would be captured in [PAYER_PLAN_PERIOD](https://ohdsi.github.io/CommonDataModel/cdm60.html#payer_plan_period). No No NA NA NA NA NA
24 observation_period observation_period_end_date Yes date Use this date to determine the end date of the period for which we can assume that all events for a Person are recorded. It is often the case that the idea of Observation Periods does not exist in source data. In those cases, the observation_period_end_date can be inferred as the last Event date available for the Person. In insurance claim data, the Observation Period can be considered as the time period the Person is enrolled with a payer. No No NA NA NA NA NA
25 observation_period period_type_concept_id Yes Integer This field can be used to determine the provenance of the Observation Period as in whether the period was determined from an insurance enrollment file, EHR healthcare encounters, or other sources. Choose the observation_period_type_concept_id that best represents how the period was determined. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
26 visit_occurrence visit_occurrence_id Yes bigint Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit. This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time. Yes No NA NA NA NA NA
27 visit_occurrence person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
28 visit_occurrence visit_concept_id Yes integer This field contains a concept id representing the kind of visit, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain. Populate this field based on the kind of visit that took place for the person. For example this could be "Inpatient Visit", "Outpatient Visit", "Ambulatory Visit", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide. No Yes CONCEPT CONCEPT_ID Visit NA NA
29 visit_occurrence visit_start_date No date For inpatient visits, the start date is typically the admission date. For outpatient visits the start date and end date will be the same. When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. In the case of an inpatient visit this should be the date the patient was admitted to the hospital or institution. In all other cases this should be the date of the patient-provider interaction. No No NA NA NA NA NA
30 visit_occurrence visit_start_datetime Yes datetime NA If no time is given for the start date of a visit, set it to midnight (00:00:0000). No No NA NA NA NA NA
31 visit_occurrence visit_end_date No date For inpatient visits the end date is typically the discharge date. Visit end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them: Outpatient Visit: visit_end_datetime = visit_start_datetime Emergency Room Visit: visit_end_datetime = visit_start_datetime Inpatient Visit: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs. Non-hospital institution Visits: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs. For Inpatient Visits ongoing at the date of ETL, put date of processing the data into visit_end_datetime and visit_type_concept_id with 32220 "Still patient" to identify the visit as incomplete. All other Visits: visit_end_datetime = visit_start_datetime. If this is a one-day visit the end date should match the start date. No No NA NA NA NA NA
32 visit_occurrence visit_end_datetime Yes datetime NA If no time is given for the end date of a visit, set it to midnight (00:00:0000). No No NA NA NA NA NA
33 visit_occurrence visit_type_concept_id Yes Integer Use this field to understand the provenance of the visit record, or where the record comes from. Populate this field based on the provenance of the visit record, as in whether it came from an EHR record or billing claim. No Yes CONCEPT CONCEPT_ID Type Concept NA NA
34 visit_occurrence provider_id No bigint There will only be one provider per visit record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). If there are multiple providers associated with a visit in the source, this can be reflected in the event tables (CONDITION_OCCURRENCE, PROCEDURE_OCCURRENCE, etc.) or in the VISIT_DETAIL table. If there are multiple providers associated with a visit, you will need to choose which one to put here. The additional providers can be stored in the visit_detail table. No Yes PROVIDER PROVIDER_ID NA NA NA
35 visit_occurrence care_site_id No bigint This field provides information about the care site where the visit took place. There should only be one care site associated with a visit. No Yes CARE_SITE CARE_SITE_ID NA NA NA
36 visit_occurrence visit_source_value No varchar(50) This field houses the verbatim value from the source data representing the kind of visit that took place (inpatient, outpatient, emergency, etc.) If there is information about the kind of visit in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the visit source value, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created. No No NA NA NA NA NA
37 visit_occurrence visit_source_concept_id Yes integer NA If the visit source value is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
38 visit_occurrence admitted_from_concept_id Yes integer Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example. If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available set to 0. No Yes CONCEPT CONCEPT_ID Visit NA NA
39 visit_occurrence admitted_from_source_value No varchar(50) NA This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits. No No NA NA NA NA NA
40 visit_occurrence discharge_to_concept_id Yes integer Use this field to determine where the patient was discharged to after a visit. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example. If available, map the discharge_to_source_value to a standard concept in the visit domain. If not available set to 0. No Yes CONCEPT CONCEPT_ID Visit NA NA
41 visit_occurrence discharge_to_source_value No varchar(50) NA This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more. No No NA NA NA NA NA
42 visit_occurrence preceding_visit_occurrence_id No bigint Use this field to find the visit that occurred for the person prior to the given visit. There could be a few days or a few years in between. The preceding_visit_id can be used to link a visit immediately preceding the current visit. Note this is not symmetrical, and there is no such thing as a "following_visit_id". No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
43 visit_detail visit_detail_id Yes bigint Use this to identify unique interactions between a person and the health care system. This identifier links across the other CDM event tables to associate events with a visit detail. This should be populated by creating a unique identifier for each unique interaction between a person and the healthcare system where the person receives a medical good or service over a span of time. Yes No NA NA NA NA NA
44 visit_detail person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
45 visit_detail visit_detail_concept_id Yes integer This field contains a concept id representing the kind of visit detail, like inpatient or outpatient. All concepts in this field should be standard and belong to the Visit domain. Populate this field based on the kind of visit that took place for the person. For example this could be "Inpatient Visit", "Outpatient Visit", "Ambulatory Visit", etc. This table will contain standard concepts in the Visit domain. These concepts are arranged in a hierarchical structure to facilitate cohort definitions by rolling up to generally familiar Visits adopted in most healthcare systems worldwide. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Visit NA NA
46 visit_detail visit_detail_start_date Yes date This is the date of the start of the encounter. This may or may not be equal to the date of the Visit the Visit Detail is associated with. When populating visit_start_date, you should think about the patient experience to make decisions on how to define visits. Most likely this should be the date of the patient-provider interaction. No No NA NA NA NA NA
47 visit_detail visit_detail_start_datetime No datetime NA If no time is given for the start date of a visit, set it to midnight (00:00:0000). No No NA NA NA NA NA
48 visit_detail visit_detail_end_date Yes date This the end date of the patient-provider interaction. Visit Detail end dates are mandatory. If end dates are not provided in the source there are three ways in which to derive them:<br> - Outpatient Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime - Emergency Room Visit Detail: visit_detail_end_datetime = visit_detail_start_datetime - Inpatient Visit Detail: Usually there is information about discharge. If not, you should be able to derive the end date from the sudden decline of activity or from the absence of inpatient procedures/drugs. - Non-hospital institution Visit Details: Particularly for claims data, if end dates are not provided assume the visit is for the duration of month that it occurs.<br> For Inpatient Visit Details ongoing at the date of ETL, put date of processing the data into visit_detai_end_datetime and visit_detail_type_concept_id with 32220 "Still patient" to identify the visit as incomplete. All other Visits Details: visit_detail_end_datetime = visit_detail_start_datetime. No No NA NA NA NA NA
49 visit_detail visit_detail_end_datetime No datetime NA If no time is given for the end date of a visit, set it to midnight (00:00:0000). No No NA NA NA NA NA
50 visit_detail visit_detail_type_concept_id Yes Integer Use this field to understand the provenance of the visit detail record, or where the record comes from. Populate this field based on the provenance of the visit detail record, as in whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
51 visit_detail provider_id No bigint There will only be one provider per **visit** record and the ETL document should clearly state how they were chosen (attending, admitting, etc.). This is a typical reason for leveraging the VISIT_DETAIL table as even though each VISIT_DETAIL record can only have one provider, there is no limit to the number of VISIT_DETAIL records that can be associated to a VISIT_OCCURRENCE record. The additional providers associated to a Visit can be stored in this table where each VISIT_DETAIL record represents a different provider. No Yes PROVIDER PROVIDER_ID NA NA NA
52 visit_detail care_site_id No bigint This field provides information about the Care Site where the Visit Detail took place. There should only be one Care Site associated with a Visit Detail. No Yes CARE_SITE CARE_SITE_ID NA NA NA
53 visit_detail visit_detail_source_value No varchar(50) This field houses the verbatim value from the source data representing the kind of visit detail that took place (inpatient, outpatient, emergency, etc.) If there is information about the kind of visit detail in the source data that value should be stored here. If a visit is an amalgamation of visits from the source then use a hierarchy to choose the VISIT_DETAIL_SOURCE_VALUE, such as IP -> ER-> OP. This should line up with the logic chosen to determine how visits are created. No No NA NA NA NA NA
54 visit_detail visit_detail_source_concept_id Yes integer NA If the VISIT_DETAIL_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, map to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
55 visit_detail admitted_from_concept_id No varchar(50) NA This information may be called something different in the source data but the field is meant to contain a value indicating where a person was admitted from. Typically this applies only to visits that have a length of stay, like inpatient visits or long-term care visits. No No NA NA NA NA NA
56 visit_detail admitted_from_source_value Yes integer Use this field to determine where the patient was admitted from. This concept is part of the visit domain and can indicate if a patient was admitted to the hospital from a long-term care facility, for example. If available, map the admitted_from_source_value to a standard concept in the visit domain. If not available, map to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Visit NA NA
57 visit_detail discharge_to_source_value No varchar(50) NA This information may be called something different in the source data but the field is meant to contain a value indicating where a person was discharged to after a visit, as in they went home or were moved to long-term care. Typically this applies only to visits that have a length of stay of a day or more. No No NA NA NA NA NA
58 visit_detail discharge_to_concept_id Yes integer Use this field to determine where the patient was discharged to after a visit detail record. This concept is part of the visit domain and can indicate if a patient was discharged to home or sent to a long-term care facility, for example. If available, map the DISCHARGE_TO_SOURCE_VALUE to a Standard Concept in the Visit domain. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Visit NA NA
59 visit_detail preceding_visit_detail_id No bigint Use this field to find the visit detail that occurred for the person prior to the given visit detail record. There could be a few days or a few years in between. The PRECEDING_VISIT_DETAIL_ID can be used to link a visit immediately preceding the current Visit Detail. Note this is not symmetrical, and there is no such thing as a "following_visit_id". No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
60 visit_detail visit_detail_parent_id No bigint Use this field to find the visit detail that subsumes the given visit detail record. This is used in the case that a visit detail record needs to be nested beyond the VISIT_OCCURRENCE/VISIT_DETAIL relationship. If there are multiple nested levels to how Visits are represented in the source, the VISIT_DETAIL_PARENT_ID can be used to record this relationship. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
61 visit_detail visit_occurrence_id Yes bigint Use this field to link the VISIT_DETAIL record to its VISIT_OCCURRENCE. Put the VISIT_OCCURRENCE_ID that subsumes the VISIT_DETAIL record here. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
62 condition_occurrence condition_occurrence_id Yes bigint The unique key given to a condition record for a person. Refer to the ETL for how duplicate conditions during the same visit were handled. Each instance of a condition present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same condition within the same visit. It is valid to keep these duplicates and assign them individual, unique, CONDITION_OCCURRENCE_IDs, though it is up to the ETL how they should be handled. Yes No NA NA NA NA NA
63 condition_occurrence person_id Yes bigint The PERSON_ID of the PERSON for whom the condition is recorded. NA No Yes PERSON PERSON_ID NA NA NA
64 condition_occurrence condition_concept_id Yes integer The CONDITION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a condition The CONCEPT_ID that the CONDITION_SOURCE_VALUE maps to. Only records whose source values map to concepts with a domain of "Condition" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Condition NA NA
65 condition_occurrence condition_start_date Yes date Use this date to determine the start date of the condition Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE. No No NA NA NA NA NA
66 condition_occurrence condition_start_datetime No datetime NA If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
67 condition_occurrence condition_end_date No date Use this date to determine the end date of the condition Most often data sources do not have the idea of a start date for a condition. Rather, if a source only has one date associated with a condition record it is acceptable to use that date for both the CONDITION_START_DATE and the CONDITION_END_DATE. No No NA NA NA NA NA
68 condition_occurrence condition_end_datetime No datetime NA If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
69 condition_occurrence condition_type_concept_id Yes integer This field can be used to determine the provenance of the Condition record, as in whether the condition was from an EHR system, insurance claim, registry, or other sources. Choose the condition_type_concept_id that best represents the provenance of the record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
70 condition_occurrence condition_status_concept_id Yes integer This concept represents the point during the visit the diagnosis was given (admitting diagnosis, final diagnosis), whether the diagnosis was determined due to laboratory findings, if the diagnosis was exclusionary, or if it was a preliminary diagnosis, among others. Choose the Concept in the Condition Status domain that best represents the point during the visit when the diagnosis was given. These can include admitting diagnosis, principal diagnosis, and secondary diagnosis. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Condition+Status&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
71 condition_occurrence stop_reason No varchar(20) The Stop Reason indicates why a Condition is no longer valid with respect to the purpose within the source data. Note that a Stop Reason does not necessarily imply that the condition is no longer occurring. This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist. No No NA NA NA NA NA
72 condition_occurrence provider_id No bigint The provider associated with condition record, e.g. the provider who made the diagnosis or the provider who recorded the symptom. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record. No Yes PROVIDER PROVIDER_ID NA NA NA
73 condition_occurrence visit_occurrence_id No bigint The visit during which the condition occurred. Depending on the structure of the source data, this may have to be determined based on dates. If a CONDITION_START_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the CONDITION_OCCURRENCE record. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
74 condition_occurrence visit_detail_id No bigint The VISIT_DETAIL record during which the condition occurred. For example, if the person was in the ICU at the time of the diagnosis the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit. Same rules apply as for the VISIT_OCCURRENCE_ID. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
75 condition_occurrence condition_source_value No varchar(50) This field houses the verbatim value from the source data representing the condition that occurred. For example, this could be an ICD10 or Read code. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
76 condition_occurrence condition_source_concept_id Yes integer This is the concept representing the condition source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Condition necessary for a given analytic use case. Consider using CONDITION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the CONDITION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
77 condition_occurrence condition_status_source_value No varchar(50) This field houses the verbatim value from the source data representing the condition status. This information may be called something different in the source data but the field is meant to contain a value indicating when and how a diagnosis was given to a patient. This source value is mapped to a standard concept which is stored in the CONDITION_STATUS_CONCEPT_ID field. No No NA NA NA NA NA
78 drug_exposure drug_exposure_id Yes bigint The unique key given to records of drug dispensings or administrations for a person. Refer to the ETL for how duplicate drugs during the same visit were handled. Each instance of a drug dispensing or administration present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same drug within the same visit. It is valid to keep these duplicates and assign them individual, unique, DRUG_EXPOSURE_IDs, though it is up to the ETL how they should be handled. Yes No NA NA NA NA NA
79 drug_exposure person_id Yes bigint The PERSON_ID of the PERSON for whom the drug dispensing or administration is recorded. This may be a system generated code. NA No Yes PERSON PERSON_ID NA NA NA
80 drug_exposure drug_concept_id Yes integer The DRUG_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a drug product or molecule otherwise introduced to the body. The drug concepts can have a varying degree of information about drug strength and dose. This information is relevant in the context of quantity and administration information in the subsequent fields plus strength information from the DRUG_STRENGTH table, provided as part of the standard vocabulary download. The CONCEPT_ID that the DRUG_SOURCE_VALUE maps to. The concept id should be derived either from mapping from the source concept id or by picking the drug concept representing the most amount of detail you have. Records whose source values map to standard concepts with a domain of Drug should go in this table. When the Drug Source Value of the code cannot be translated into Standard Drug Concept IDs, a Drug exposure entry is stored with only the corresponding SOURCE_CONCEPT_ID and DRUG_SOURCE_VALUE and a DRUG_CONCEPT_ID of 0. The Drug Concept with the most detailed content of information is preferred during the mapping process. These are indicated in the CONCEPT_CLASS_ID field of the Concept and are recorded in the following order of precedence: 'Branded Pack', 'Clinical Pack', 'Branded Drug', 'Clinical Drug', 'Branded Drug Component', 'Clinical Drug Component', 'Branded Drug Form', 'Clinical Drug Form', and only if no other information is available 'Ingredient'. Note: If only the drug class is known, the DRUG_CONCEPT_ID field should contain 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Drug&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Drug NA NA
81 drug_exposure drug_exposure_start_date Yes date Use this date to determine the start date of the drug record. Valid entries include a start date of a prescription, the date a prescription was filled, or the date on which a Drug administration was recorded. It is a valid ETL choice to use the date the drug was ordered as the DRUG_EXPOSURE_START_DATE. No No NA NA NA NA NA
82 drug_exposure drug_exposure_start_datetime No datetime NA This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
83 drug_exposure drug_exposure_end_date Yes date The DRUG_EXPOSURE_END_DATE denotes the day the drug exposure ended for the patient. If this information is not explicitly available in the data, infer the end date using the following methods:/n/n 1. Start first with duration or days supply using the calculation drug start date + days supply -1 day. 2. Use quantity divided by daily dose that you may obtain from the sig or a source field (or assumed daily dose of 1) for solid, indivisibile, drug products. If quantity represents ingredient amount, quantity divided by daily dose * concentration (from drug_strength) drug concept id tells you the dose form. 3. If it is an administration record, set drug end date equal to drug start date. If the record is a written prescription then set end date to start date + 29. If the record is a mail-order prescription set end date to start date + 89. The end date must be equal to or greater than the start date. Ibuprofen 20mg/mL oral solution concept tells us this is oral solution. Calculate duration as quantity (200 example) * daily dose (5mL) /concentration (20mg/mL) 200*5/20 = 50 days. [Examples by dose form](https://ohdsi.github.io/CommonDataModel/drug_dose.html) No No NA NA NA NA NA
84 drug_exposure drug_exposure_end_datetime No datetime NA This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
85 drug_exposure verbatim_end_date No date This is the end date of the drug exposure as it appears in the source data, if it is given Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable. No No NA NA NA NA NA
86 drug_exposure drug_type_concept_id Yes integer You can use the TYPE_CONCEPT_ID to delineate between prescriptions written vs. prescriptions dispensed vs. medication history vs. patient-reported exposure, etc. Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
87 drug_exposure stop_reason No varchar(20) The reason a person stopped a medication as it is represented in the source. Reasons include regimen completed, changed, removed, etc. This field will be retired in v6.0. This information is often not populated in source data and it is a valid etl choice to leave it blank if the information does not exist. No No NA NA NA NA NA
88 drug_exposure refills No integer This is only filled in when the record is coming from a prescription written this field is meant to represent intended refills at time of the prescription. NA No No NA NA NA NA NA
89 drug_exposure quantity No float NA To find the dose form of a drug the RELATIONSHIP table can be used where the relationship_id is 'Has dose form'. If liquid, quantity stands for the total amount dispensed or ordered of ingredient in the units given by the drug_strength table. If the unit from the source data does not align with the unit in the DRUG_STRENGTH table the quantity should be converted to the correct unit given in DRUG_STRENGTH. For clinical drugs with fixed dose forms (tablets etc.) the quantity is the number of units/tablets/capsules prescribed or dispensed (can be partial, but then only 1/2 or 1/3, not 0.01). Clinical drugs with divisible dose forms (injections) the quantity is the amount of ingredient the patient got. For example, if the injection is 2mg/mL but the patient got 80mL then quantity is reported as 160. Quantified clinical drugs with divisible dose forms (prefilled syringes), the quantity is the amount of ingredient similar to clinical drugs. Please see [how to calculate drug dose](https://ohdsi.github.io/CommonDataModel/drug_dose.html) for more information. No No NA NA NA NA NA
90 drug_exposure days_supply No integer The number of days of supply of the medication as recorded in the original prescription or dispensing record. Days supply can differ from actual drug duration (i.e. prescribed days supply vs actual exposure). The field should be left empty if the source data does not contain a verbatim days_supply, and should not be calculated from other fields. Negative values are not allowed. Several actions are possible: 1) record is not trustworthy and we remove the record entirely. 2) we trust the record and leave days_supply empty or 3) record needs to be combined with other record (e.g. reversal of prescription). High values (>365 days) should be investigated. If considered an error in the source data (e.g. typo), the value needs to be excluded to prevent creation of unrealistic long eras. No No NA NA NA NA NA
91 drug_exposure sig No varchar(MAX) This is the verbatim instruction for the drug as written by the provider. Put the written out instructions for the drug as it is verbatim in the source, if available. No No NA NA NA NA NA
92 drug_exposure route_concept_id No integer NA The standard CONCEPT_ID that the ROUTE_SOURCE_VALUE maps to in the route domain. No Yes CONCEPT CONCEPT_ID Route NA NA
93 drug_exposure lot_number No varchar(50) NA NA No No NA NA NA NA NA
94 drug_exposure provider_id No bigint The Provider associated with drug record, e.g. the provider who wrote the prescription or the provider who administered the drug. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the ordering vs administering physician on an EHR record. No Yes PROVIDER PROVIDER_ID NA NA NA
95 drug_exposure visit_occurrence_id No bigint The Visit during which the drug was prescribed, administered or dispensed. To populate this field drug exposures must be explicitly initiated in the visit. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
96 drug_exposure visit_detail_id No bigint The VISIT_DETAIL record during which the drug exposure occurred. For example, if the person was in the ICU at the time of the drug administration the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit. Same rules apply as for the VISIT_OCCURRENCE_ID. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
97 drug_exposure drug_source_value No varchar(50) This field houses the verbatim value from the source data representing the drug exposure that occurred. For example, this could be an NDC or Gemscript code. This code is mapped to a Standard Drug Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
98 drug_exposure drug_source_concept_id Yes integer This is the concept representing the drug source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Drug necessary for a given analytic use case. Consider using DRUG_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the DRUG_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
99 drug_exposure route_source_value No varchar(50) This field houses the verbatim value from the source data representing the drug route. This information may be called something different in the source data but the field is meant to contain a value indicating when and how a drug was given to a patient. This source value is mapped to a standard concept which is stored in the ROUTE_CONCEPT_ID field. No No NA NA NA NA NA
100 drug_exposure dose_unit_source_value No varchar(50) This field houses the verbatim value from the source data representing the dose unit of the drug given. This information may be called something different in the source data but the field is meant to contain a value indicating the unit of dosage of drug given to the patient. This is an older column and will be deprecated in an upcoming version. No No NA NA NA NA NA
101 procedure_occurrence procedure_occurrence_id Yes bigint The unique key given to a procedure record for a person. Refer to the ETL for how duplicate procedures during the same visit were handled. Each instance of a procedure occurrence in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same procedure within the same visit. It is valid to keep these duplicates and assign them individual, unique, PROCEDURE_OCCURRENCE_IDs, though it is up to the ETL how they should be handled. Yes No NA NA NA NA NA
102 procedure_occurrence person_id Yes bigint The PERSON_ID of the PERSON for whom the procedure is recorded. This may be a system generated code. NA No Yes PERSON PERSON_ID NA NA NA
103 procedure_occurrence procedure_concept_id Yes integer The PROCEDURE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source value which represents a procedure The CONCEPT_ID that the PROCEDURE_SOURCE_VALUE maps to. Only records whose source values map to standard concepts with a domain of "Procedure" should go in this table. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Procedure&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Procedure NA NA
104 procedure_occurrence procedure_date No date Use this date to determine the date the procedure occurred. If a procedure lasts more than a day, then it should be recorded as a separate record for each day the procedure occurred, this logic is in lieu of the procedure_end_date, which will be added in a future version of the CDM. No No NA NA NA NA NA
105 procedure_occurrence procedure_datetime Yes datetime NA This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
106 procedure_occurrence procedure_type_concept_id Yes integer This field can be used to determine the provenance of the Procedure record, as in whether the procedure was from an EHR system, insurance claim, registry, or other sources. Choose the PROCEDURE_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. If a procedure is recorded as an EHR encounter, the PROCEDURE_TYPE_CONCEPT would be 'EHR encounter record'. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
107 procedure_occurrence modifier_concept_id No integer The modifiers are intended to give additional information about the procedure but as of now the vocabulary is under review. It is up to the ETL to choose how to map modifiers if they exist in source data. These concepts are typically distinguished by 'Modifier' concept classes (e.g., 'CPT4 Modifier' as part of the 'CPT4' vocabulary). If there is more than one modifier on a record, one should be chosen that pertains to the procedure rather than provider. If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?conceptClass=CPT4+Modifier&conceptClass=HCPCS+Modifier&vocabulary=CPT4&vocabulary=HCPCS&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
108 procedure_occurrence quantity No integer If the quantity value is omitted, a single procedure is assumed. If a Procedure has a quantity of '0' in the source, this should default to '1' in the ETL. If there is a record in the source it can be assumed the exposure occurred at least once No No NA NA NA NA NA
109 procedure_occurrence provider_id No bigint The provider associated with the procedure record, e.g. the provider who performed the Procedure. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record, for example the admitting vs attending physician on an EHR record. No No PROVIDER PROVIDER_ID NA NA NA
110 procedure_occurrence visit_occurrence_id No bigint The visit during which the procedure occurred. Depending on the structure of the source data, this may have to be determined based on dates. If a PROCEDURE_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the Visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the PROCEDURE_OCCURRENCE record. No No VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
111 procedure_occurrence visit_detail_id No bigint The VISIT_DETAIL record during which the Procedure occurred. For example, if the Person was in the ICU at the time of the Procedure the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit. Same rules apply as for the VISIT_OCCURRENCE_ID. No No VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
112 procedure_occurrence procedure_source_value No varchar(50) This field houses the verbatim value from the source data representing the procedure that occurred. For example, this could be an CPT4 or OPCS4 code. Use this value to look up the source concept id and then map the source concept id to a standard concept id. No No NA NA NA NA NA
113 procedure_occurrence procedure_source_concept_id Yes integer This is the concept representing the procedure source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Procedure necessary for a given analytic use case. Consider using PROCEDURE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the PROCEDURE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0. No No CONCEPT CONCEPT_ID NA NA NA
114 procedure_occurrence modifier_source_value No varchar(50) NA The original modifier code from the source is stored here for reference. No No NA NA NA NA NA
115 device_exposure device_exposure_id Yes bigint The unique key given to records a person's exposure to a foreign physical object or instrument. Each instance of an exposure to a foreign object or device present in the source data should be assigned this unique key. Yes No NA NA NA NA NA
116 device_exposure person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
117 device_exposure device_concept_id Yes integer The DEVICE_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. This is the standard concept mapped from the source concept id which represents a foreign object or instrument the person was exposed to. The CONCEPT_ID that the DEVICE_SOURCE_VALUE maps to. No Yes CONCEPT CONCEPT_ID Device NA NA
118 device_exposure device_exposure_start_date Yes date Use this date to determine the start date of the device record. Valid entries include a start date of a procedure to implant a device, the date of a prescription for a device, or the date of device administration. No No NA NA NA NA NA
119 device_exposure device_exposure_start_datetime No datetime NA This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
120 device_exposure device_exposure_end_date No date The DEVICE_EXPOSURE_END_DATE denotes the day the device exposure ended for the patient, if given. Put the end date or discontinuation date as it appears from the source data or leave blank if unavailable. No No NA NA NA NA NA
121 device_exposure device_exposure_end_datetime No datetime NA If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
122 device_exposure device_type_concept_id Yes integer You can use the TYPE_CONCEPT_ID to denote the provenance of the record, as in whether the record is from administrative claims or EHR. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). Choose the drug_type_concept_id that best represents the provenance of the record, for example whether it came from a record of a prescription written or physician administered drug. No Yes CONCEPT CONCEPT_ID Type Concept NA NA
123 device_exposure unique_device_id No varchar(50) This is the Unique Device Identification number for devices regulated by the FDA, if given. For medical devices that are regulated by the FDA, a Unique Device Identification (UDI) is provided if available in the data source and is recorded in the UNIQUE_DEVICE_ID field. No No NA NA NA NA NA
124 device_exposure quantity No integer NA NA No No NA NA NA NA NA
125 device_exposure provider_id No bigint The Provider associated with device record, e.g. the provider who wrote the prescription or the provider who implanted the device. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. No Yes PROVIDER PROVIDER_ID NA NA NA
126 device_exposure visit_occurrence_id No bigint The Visit during which the device was prescribed or given. To populate this field device exposures must be explicitly initiated in the visit. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
127 device_exposure visit_detail_id No bigint The Visit Detail during which the device was prescribed or given. To populate this field device exposures must be explicitly initiated in the visit detail record. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
128 device_exposure device_source_value No varchar(50) This field houses the verbatim value from the source data representing the device exposure that occurred. For example, this could be an NDC or Gemscript code. This code is mapped to a Standard Device Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
129 device_exposure device_source_concept_id Yes integer This is the concept representing the device source value and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Device necessary for a given analytic use case. Consider using DEVICE_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the DEVICE_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If unavailable, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
130 measurement measurement_id Yes bigint The unique key given to a Measurement record for a Person. Refer to the ETL for how duplicate Measurements during the same Visit were handled. Each instance of a measurement present in the source data should be assigned this unique key. In some cases, a person can have multiple records of the same measurement within the same visit. It is valid to keep these duplicates and assign them individual, unique, MEASUREMENT_IDs, though it is up to the ETL how they should be handled. Yes No NA NA NA NA NA
131 measurement person_id Yes bigint The PERSON_ID of the PERSON for whom the measurement is recorded. This may be a system generated code. NA No Yes PERSON PERSON_ID NA NA NA
132 measurement measurement_concept_id Yes integer The MEASUREMENT_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. The CONCEPT_ID that the MEASUREMENT_SOURCE_CONCEPT_ID maps to. Only records whose SOURCE_CONCEPT_IDs map to Standard Concepts with a domain of "Measurement" should go in this table. No Yes CONCEPT CONCEPT_ID Measurement NA NA
133 measurement measurement_date Yes date Use this date to determine the date of the measurement. If there are multiple dates in the source data associated with a record such as order_date, draw_date, and result_date, choose the one that is closest to the date the sample was drawn from the patient. No No NA NA NA NA NA
134 measurement measurement_datetime No datetime NA This is not required, though it is in v6. If a source does not specify datetime the convention is to set the time to midnight (00:00:0000) No No NA NA NA NA NA
135 measurement measurement_time No varchar(10) NA This is present for backwards compatibility and will be deprecated in an upcoming version. No No NA NA NA NA NA
136 measurement measurement_type_concept_id Yes integer This field can be used to determine the provenance of the Measurement record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources. Choose the MEASUREMENT_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
137 measurement operator_concept_id No integer The meaning of Concept [4172703](https://athena.ohdsi.org/search-terms/terms/4172703) for '=' is identical to omission of a OPERATOR_CONCEPT_ID value. Since the use of this field is rare, it's important when devising analyses to not to forget testing for the content of this field for values different from =. Operators are <, <=, =, >=, > and these concepts belong to the 'Meas Value Operator' domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Meas+Value+Operator&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
138 measurement value_as_number No float This is the numerical value of the Result of the Measurement, if available. Note that measurements such as blood pressures will be split into their component parts i.e. one record for systolic, one record for diastolic. If there is a negative value coming from the source, set the VALUE_AS_NUMBER to NULL, with the exception of the following Measurements (listed as LOINC codes):<br>- [1925-7](https://athena.ohdsi.org/search-terms/terms/3003396) Base excess in Arterial blood by calculation - [1927-3](https://athena.ohdsi.org/search-terms/terms/3002032) Base excess in Venous blood by calculation - [8632-2](https://athena.ohdsi.org/search-terms/terms/3006277) QRS-Axis - [11555-0](https://athena.ohdsi.org/search-terms/terms/3012501) Base excess in Blood by calculation - [1926-5](https://athena.ohdsi.org/search-terms/terms/3003129) Base excess in Capillary blood by calculation - [28638-5](https://athena.ohdsi.org/search-terms/terms/3004959) Base excess in Arterial cord blood by calculation [28639-3](https://athena.ohdsi.org/search-terms/terms/3007435) Base excess in Venous cord blood by calculation No No NA NA NA NA NA
139 measurement value_as_concept_id No integer If the raw data gives a categorial result for measurements those values are captured and mapped to standard concepts in the 'Meas Value' domain. If the raw data provides categorial results as well as continuous results for measurements, it is a valid ETL choice to preserve both values. The continuous value should go in the VALUE_AS_NUMBER field and the categorical value should be mapped to a standard concept in the 'Meas Value' domain and put in the VALUE_AS_CONCEPT_ID field. This is also the destination for the 'Maps to value' relationship. No Yes CONCEPT CONCEPT_ID NA NA NA
140 measurement unit_concept_id No integer There is currently no recommended unit for individual measurements, i.e. it is not mandatory to represent Hemoglobin a1C measurements as a percentage. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data. There is no standardization requirement for units associated with MEASUREMENT_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit. No Yes CONCEPT CONCEPT_ID Unit NA NA
141 measurement range_low No float Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given. If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided. No No NA NA NA NA NA
142 measurement range_high No float Ranges have the same unit as the VALUE_AS_NUMBER. These ranges are provided by the source and should remain NULL if not given. If reference ranges for upper and lower limit of normal as provided (typically by a laboratory) these are stored in the RANGE_HIGH and RANGE_LOW fields. This should be set to NULL if not provided. No No NA NA NA NA NA
143 measurement provider_id No bigint The provider associated with measurement record, e.g. the provider who ordered the test or the provider who recorded the result. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record. No Yes PROVIDER PROVIDER_ID NA NA NA
144 measurement visit_occurrence_id No bigint The visit during which the Measurement occurred. Depending on the structure of the source data, this may have to be determined based on dates. If a MEASUREMENT_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the measurement record. If a measurement is related to a visit explicitly in the source data, it is possible that the result date of the Measurement falls outside of the bounds of the Visit dates. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
145 measurement visit_detail_id No bigint The VISIT_DETAIL record during which the Measurement occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit. Same rules apply as for the VISIT_OCCURRENCE_ID. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
146 measurement measurement_source_value No varchar(50) This field houses the verbatim value from the source data representing the Measurement that occurred. For example, this could be an ICD10 or Read code. This code is mapped to a Standard Measurement Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
147 measurement measurement_source_concept_id Yes integer This is the concept representing the MEASUREMENT_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Measurement necessary for a given analytic use case. Consider using MEASUREMENT_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the MEASUREMENT_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
148 measurement unit_source_value No varchar(50) This field houses the verbatim value from the source data representing the unit of the Measurement that occurred. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
149 measurement value_source_value No varchar(50) This field houses the verbatim result value of the Measurement from the source data . If both a continuous and categorical result are given in the source data such that both VALUE_AS_NUMBER and VALUE_AS_CONCEPT_ID are both included, store the verbatim value that was mapped to VALUE_AS_CONCEPT_ID here. No No NA NA NA NA NA
150 observation observation_id Yes bigint The unique key given to an Observation record for a Person. Refer to the ETL for how duplicate Observations during the same Visit were handled. Each instance of an observation present in the source data should be assigned this unique key. Yes No NA NA NA NA NA
151 observation person_id Yes bigint The PERSON_ID of the Person for whom the Observation is recorded. This may be a system generated code. NA No Yes PERSON PERSON_ID NA NA NA
152 observation observation_concept_id Yes integer The OBSERVATION_CONCEPT_ID field is recommended for primary use in analyses, and must be used for network studies. The CONCEPT_ID that the OBSERVATION_SOURCE_CONCEPT_ID maps to. There is no specified domain that the Concepts in this table must adhere to. The only rule is that records with Concepts in the Condition, Procedure, Drug, Measurement, or Device domains MUST go to the corresponding table. No Yes CONCEPT CONCEPT_ID NA NA NA
153 observation observation_date No date The date of the Observation. Depending on what the Observation represents this could be the date of a lab test, the date of a survey, or the date a patient's family history was taken. For some observations the ETL may need to make a choice as to which date to choose. No No NA NA NA NA NA
154 observation observation_datetime Yes datetime NA If no time is given set to midnight (00:00:00). No No NA NA NA NA NA
155 observation observation_type_concept_id Yes integer This field can be used to determine the provenance of the Observation record, as in whether the measurement was from an EHR system, insurance claim, registry, or other sources. Choose the OBSERVATION_TYPE_CONCEPT_ID that best represents the provenance of the record, for example whether it came from an EHR record or billing claim. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Type+Concept&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
156 observation value_as_number No float This is the numerical value of the Result of the Observation, if applicable and available. It is not expected that all Observations will have numeric results, rather, this field is here to house values should they exist. NA No No NA NA NA NA NA
157 observation value_as_string No varchar(60) This is the categorical value of the Result of the Observation, if applicable and available. NA No No NA NA NA NA NA
158 observation value_as_concept_id No Integer It is possible that some records destined for the Observation table have two clinical ideas represented in one source code. This is common with ICD10 codes that describe a family history of some Condition, for example. In OMOP the Vocabulary breaks these two clinical ideas into two codes; one becomes the OBSERVATION_CONCEPT_ID and the other becomes the VALUE_AS_CONCEPT_ID. It is important when using the Observation table to keep this possibility in mind and to examine the VALUE_AS_CONCEPT_ID field for relevant information. Note that the value of VALUE_AS_CONCEPT_ID may be provided through mapping from a source Concept which contains the content of the Observation. In those situations, the CONCEPT_RELATIONSHIP table in addition to the 'Maps to' record contains a second record with the relationship_id set to 'Maps to value'. For example, ICD10 [Z82.4](https://athena.ohdsi.org/search-terms/terms/45581076) 'Family history of ischaemic heart disease and other diseases of the circulatory system' has a 'Maps to' relationship to [4167217](https://athena.ohdsi.org/search-terms/terms/4167217) 'Family history of clinical finding' as well as a 'Maps to value' record to [134057](https://athena.ohdsi.org/search-terms/terms/134057) 'Disorder of cardiovascular system'. No Yes CONCEPT CONCEPT_ID NA NA NA
159 observation qualifier_concept_id No integer This field contains all attributes specifying the clinical fact further, such as as degrees, severities, drug-drug interaction alerts etc. Use your best judgement as to what Concepts to use here and if they are necessary to accurately represent the clinical record. There is no restriction on the domain of these Concepts, they just need to be Standard. No Yes CONCEPT CONCEPT_ID NA NA NA
160 observation unit_concept_id No integer There is currently no recommended unit for individual observation concepts. UNIT_SOURCE_VALUES should be mapped to a Standard Concept in the Unit domain that best represents the unit as given in the source data. There is no standardization requirement for units associated with OBSERVATION_CONCEPT_IDs, however, it is the responsibility of the ETL to choose the most plausible unit. No Yes CONCEPT CONCEPT_ID Unit NA NA
161 observation provider_id No bigint The provider associated with the observation record, e.g. the provider who ordered the test or the provider who recorded the result. The ETL may need to make a choice as to which PROVIDER_ID to put here. Based on what is available this may or may not be different than the provider associated with the overall VISIT_OCCURRENCE record. For example the admitting vs attending physician on an EHR record. No Yes PROVIDER PROVIDER_ID NA NA NA
162 observation visit_occurrence_id No bigint The visit during which the Observation occurred. Depending on the structure of the source data, this may have to be determined based on dates. If an OBSERVATION_DATE occurs within the start and end date of a Visit it is a valid ETL choice to choose the VISIT_OCCURRENCE_ID from the visit that subsumes it, even if not explicitly stated in the data. While not required, an attempt should be made to locate the VISIT_OCCURRENCE_ID of the observation record. If an observation is related to a visit explicitly in the source data, it is possible that the result date of the Observation falls outside of the bounds of the Visit dates. No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
163 observation visit_detail_id No bigint The VISIT_DETAIL record during which the Observation occurred. For example, if the Person was in the ICU at the time the VISIT_OCCURRENCE record would reflect the overall hospital stay and the VISIT_DETAIL record would reflect the ICU stay during the hospital visit. Same rules apply as for the VISIT_OCCURRENCE_ID. No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
164 observation observation_source_value No varchar(50) This field houses the verbatim value from the source data representing the Observation that occurred. For example, this could be an ICD10 or Read code. This code is mapped to a Standard Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
165 observation observation_source_concept_id Yes integer This is the concept representing the OBSERVATION_SOURCE_VALUE and may not necessarily be standard. This field is discouraged from use in analysis because it is not required to contain Standard Concepts that are used across the OHDSI community, and should only be used when Standard Concepts do not adequately represent the source detail for the Observation necessary for a given analytic use case. Consider using OBSERVATION_CONCEPT_ID instead to enable standardized analytics that can be consistent across the network. If the OBSERVATION_SOURCE_VALUE is coded in the source data using an OMOP supported vocabulary put the concept id representing the source value here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
166 observation unit_source_value No varchar(50) This field houses the verbatim value from the source data representing the unit of the Observation that occurred. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
167 observation qualifier_source_value No varchar(50) This field houses the verbatim value from the source data representing the qualifier of the Observation that occurred. This code is mapped to a Standard Condition Concept in the Standardized Vocabularies and the original code is stored here for reference. No No NA NA NA NA NA
168 observation observation_event_id No bigint If the Observation record is related to another record in the database, this field is the primary key of the linked record. Put the primary key of the linked record, if applicable, here. See the [ETL Conventions for the OBSERVATION](https://ohdsi.github.io/CommonDataModel/cdm60.html#observation) table for more details. No No NA NA NA NA NA
169 observation obs_event_field_concept_id No integer If the Observation record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from. Put the CONCEPT_ID that identifies which table and field the OBSERVATION_EVENT_ID came from. No Yes CONCEPT CONCEPT_ID NA NA NA
170 observation value_as_datetime No datetime It is possible that some Observation records might store a result as a date value. NA No No NA NA NA NA NA
171 death person_id No bigint NA NA No No NA NA NA NA NA
172 death death_date No date NA NA No No NA NA NA NA NA
173 death death_datetime No datetime NA NA No No NA NA NA NA NA
174 death death_type_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID Type Concept NA NA
175 death cause_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
176 death cause_source_value No varchar(50) NA NA No No NA NA NA NA NA
177 death cause_source_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
178 note note_id Yes integer A unique identifier for each note. NA Yes No NA NA NA NA NA
179 note person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
180 note note_event_id No bigint NA NA No No NA NA NA NA NA
181 note note_event_field_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
182 note note_date Yes date The date the note was recorded. NA No No NA NA NA NA NA
183 note note_datetime No datetime NA If time is not given set the time to midnight. No No NA NA NA NA NA
184 note note_type_concept_id Yes integer The provenance of the note. Most likely this will be EHR. Put the source system of the note, as in EHR record. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
185 note note_class_concept_id Yes integer A Standard Concept Id representing the HL7 LOINC Document Type Vocabulary classification of the note. Map the note classification to a Standard Concept. For more information see the ETL Conventions in the description of the NOTE table. [AcceptedConcepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Doc+Kind&conceptClass=Doc+Role&conceptClass=Doc+Setting&conceptClass=Doc+Subject+Matter&conceptClass=Doc+Type+of+Service&domain=Meas+Value&page=1&pageSize=15&query=). This Concept can alternatively be represented by concepts with the relationship 'Kind of (LOINC)' to [706391](https://athena.ohdsi.org/search-terms/terms/706391) (Note). No Yes CONCEPT CONCEPT_ID NA NA NA
186 note note_title No varchar(250) The title of the note. NA No No NA NA NA NA NA
187 note note_text Yes varchar(MAX) The content of the note. NA No No NA NA NA NA NA
188 note encoding_concept_id Yes integer This is the Concept representing the character encoding type. Put the Concept Id that represents the encoding character type here. Currently the only option is UTF-8 ([32678](https://athena.ohdsi.org/search-terms/terms/32678)). It the note is encoded in any other type, like ASCII then put 0. No Yes CONCEPT CONCEPT_ID NA NA NA
189 note language_concept_id Yes integer The language of the note. Use Concepts that are descendants of the concept [4182347](https://athena.ohdsi.org/search-terms/terms/4182347) (World Languages). No Yes CONCEPT CONCEPT_ID NA NA NA
190 note provider_id No bigint The Provider who wrote the note. The ETL may need to make a determination on which provider to put here. No Yes PROVIDER PROVIDER_ID NA NA NA
191 note visit_occurrence_id No bigint The Visit during which the note was written. NA No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
192 note visit_detail_id No bigint The Visit Detail during which the note was written. NA No Yes VISIT_DETAIL VISIT_DETAIL_ID NA NA NA
193 note note_source_value No varchar(50) NA The source value mapped to the NOTE_CLASS_CONCEPT_ID. No No NA NA NA NA NA
194 note_nlp note_nlp_id Yes bigint A unique identifier for the NLP record. NA Yes No NA NA NA NA NA
195 note_nlp note_id Yes integer This is the NOTE_ID for the NOTE record the NLP record is associated to. NA No No NA NA NA NA NA
196 note_nlp section_concept_id No integer NA The SECTION_CONCEPT_ID should be used to represent the note section contained in the NOTE_NLP record. These concepts can be found as parts of document panels and are based on the type of note written, i.e. a discharge summary. These panels can be found as concepts with the relationship 'Subsumes' to CONCEPT_ID [45875957](https://athena.ohdsi.org/search-terms/terms/45875957). No Yes CONCEPT CONCEPT_ID NA NA NA
197 note_nlp snippet No varchar(250) A small window of text surrounding the term NA No No NA NA NA NA NA
198 note_nlp \"offset\" No varchar(50) Character offset of the extracted term in the input note NA No No NA NA NA NA NA
199 note_nlp lexical_variant Yes varchar(250) Raw text extracted from the NLP tool. NA No No NA NA NA NA NA
200 note_nlp note_nlp_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
201 note_nlp note_nlp_source_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
202 note_nlp nlp_system No varchar(250) NA Name and version of the NLP system that extracted the term. Useful for data provenance. No No NA NA NA NA NA
203 note_nlp nlp_date Yes date The date of the note processing. NA No No NA NA NA NA NA
204 note_nlp nlp_datetime No datetime The date and time of the note processing. NA No No NA NA NA NA NA
205 note_nlp term_exists No varchar(1) NA Term_exists is defined as a flag that indicates if the patient actually has or had the condition. Any of the following modifiers would make Term_exists false: Negation = true Subject = [anything other than the patient] Conditional = true/li> Rule_out = true Uncertain = very low certainty or any lower certainties A complete lack of modifiers would make Term_exists true. No No NA NA NA NA NA
206 note_nlp term_temporal No varchar(50) NA Term_temporal is to indicate if a condition is present or just in the past. The following would be past:<br><br> - History = true - Concept_date = anything before the time of the report No No NA NA NA NA NA
207 note_nlp term_modifiers No varchar(2000) NA For the modifiers that are there, they would have to have these values:<br><br> - Negation = false - Subject = patient - Conditional = false - Rule_out = false - Uncertain = true or high or moderate or even low (could argue about low). Term_modifiers will concatenate all modifiers for different types of entities (conditions, drugs, labs etc) into one string. Lab values will be saved as one of the modifiers. No No NA NA NA NA NA
208 specimen specimen_id Yes bigint Unique identifier for each specimen. NA Yes No NA NA NA NA NA
209 specimen person_id Yes bigint The person from whom the specimen is collected. NA No Yes PERSON PERSON_ID NA NA NA
210 specimen specimen_concept_id Yes integer NA The standard CONCEPT_ID that the SPECIMEN_SOURCE_VALUE maps to in the specimen domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Specimen&standardConcept=Standard&page=1&pageSize=15&query=) No Yes CONCEPT CONCEPT_ID NA NA NA
211 specimen specimen_type_concept_id Yes integer NA Put the source of the specimen record, as in an EHR system. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Type+Concept&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Type Concept NA NA
212 specimen specimen_date Yes date The date the specimen was collected. NA No No NA NA NA NA NA
213 specimen specimen_datetime No datetime NA NA No No NA NA NA NA NA
214 specimen quantity No float The amount of specimen collected from the person. NA No No NA NA NA NA NA
215 specimen unit_concept_id No integer The unit for the quantity of the specimen. Map the UNIT_SOURCE_VALUE to a Standard Concept in the Unit domain. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Unit&standardConcept=Standard&page=1&pageSize=15&query=) No Yes CONCEPT CONCEPT_ID NA NA NA
216 specimen anatomic_site_concept_id No integer This is the site on the body where the specimen is from. Map the ANATOMIC_SITE_SOURCE_VALUE to a Standard Concept in the Spec Anatomic Site domain. This should be coded at the lowest level of granularity [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Spec+Anatomic+Site&conceptClass=Body+Structure&page=4&pageSize=15&query=) No Yes CONCEPT CONCEPT_ID NA NA NA
217 specimen disease_status_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
218 specimen specimen_source_id No varchar(50) This is the identifier for the specimen from the source system. NA No No NA NA NA NA NA
219 specimen specimen_source_value No varchar(50) NA NA No No NA NA NA NA NA
220 specimen unit_source_value No varchar(50) NA This unit for the quantity of the specimen, as represented in the source. No No NA NA NA NA NA
221 specimen anatomic_site_source_value No varchar(50) NA This is the site on the body where the specimen was taken from, as represented in the source. No No NA NA NA NA NA
222 specimen disease_status_source_value No varchar(50) NA NA No No NA NA NA NA NA
224 fact_relationship fact_id_1 Yes bigint NA NA No No NA NA NA NA NA
225 fact_relationship domain_concept_id_2 Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
226 fact_relationship fact_id_2 Yes bigint NA NA No No NA NA NA NA NA
227 fact_relationship relationship_concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
228 survey_conduct survey_conduct_id Yes bigint Unique identifier for each completed survey. For each instance of a survey completion create a unique identifier. Yes No NA NA NA NA NA
229 survey_conduct person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
230 survey_conduct survey_concept_id Yes integer This is the Concept that represents the survey that was completed. Put the CONCEPT_ID that identifies the survey that the Person completed. There is no specified domain for this table but the concept class 'staging/scales' contains many common surveys. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Staging+%2F+Scales&page=5&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
231 survey_conduct survey_start_date No date Date on which the survey was started. NA No No NA NA NA NA NA
232 survey_conduct survey_start_datetime No datetime NA If no time given, set to midnight. No No NA NA NA NA NA
233 survey_conduct survey_end_date No date Date on which the survey was completed. NA No No NA NA NA NA NA
234 survey_conduct survey_end_datetime Yes datetime NA If no time given, set to midnight. No No NA NA NA NA NA
235 survey_conduct provider_id No bigint This is the Provider associated with the survey completion. The ETL may need to make a choice as to which Provider to put here. This could either be the provider that ordered the survey or the provider who observed the completion of the survey. No Yes PROVIDER PROVIDER_ID NA NA NA
236 survey_conduct assisted_concept_id Yes integer This is a Concept that represents whether the survey was completed with assistance or independently. There is no specific domain or class for this field, just choose the one that best represents the value given in the source. No Yes CONCEPT CONCEPT_ID NA NA NA
237 survey_conduct respondent_type_concept_id Yes integer This is a Concept that represents who actually recorded the answers to the survey. For example, this could be the patient or a research associate. There is no specific domain or class for this field, just choose the one that best represents the value given in the source. No Yes CONCEPT CONCEPT_ID NA NA NA
238 survey_conduct timing_concept_id Yes integer This is a Concept that represents the timing of the survey. For example this could be the 3-month follow-up appointment. There is no specific domain or class for this field, just choose the one that best represents the value given in the source. No Yes CONCEPT CONCEPT_ID NA NA NA
239 survey_conduct collection_method_concept_id Yes integer This Concept represents how the responses were collected. Use the concepts that have the relationship 'Has Answer' with the CONCEPT_ID [42529316](https://athena.ohdsi.org/search-terms/terms/42529316). No Yes CONCEPT CONCEPT_ID NA NA NA
240 survey_conduct assisted_source_value No varchar(50) Source value representing whether patient required assistance to complete the survey. Example: 'Completed without assistance', 'Completed with assistance'. NA No No NA NA NA NA NA
241 survey_conduct respondent_type_source_value No varchar(100) Source code representing role of person who completed the survey. NA No No NA NA NA NA NA
242 survey_conduct timing_source_value No varchar(100) Text string representing the timing of the survey. Example: Baseline, 6-month follow-up. NA No No NA NA NA NA NA
243 survey_conduct collection_method_source_value No varchar(100) The collection method as it appears in the source data. NA No No NA NA NA NA NA
244 survey_conduct survey_source_value No varchar(100) The survey name as it appears in the source data. NA No No NA NA NA NA NA
245 survey_conduct survey_source_concept_id Yes integer NA If unavailable, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
246 survey_conduct survey_source_identifier No varchar(100) Unique identifier for each completed survey in source system. NA No No NA NA NA NA NA
247 survey_conduct validated_survey_concept_id Yes integer NA If unavailable, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
248 survey_conduct validated_survey_source_value No integer varchar(100) Source value representing the validation status of the survey. NA No No NA NA NA NA NA
249 survey_conduct survey_version_number No varchar(20) Version number of the questionnaire or survey used. NA No No NA NA NA NA NA
250 survey_conduct visit_occurrence_id No bigint The Visit during which the Survey occurred. NA No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
251 survey_conduct response_visit_occurrence_id No bigint The Visit during which any treatment related to the Survey was carried out. NA No Yes VISIT_OCCURRENCE VISIT_OCCURRENCE_ID NA NA NA
252 location location_id Yes bigint The unique key given to a unique Location. Each instance of a Location in the source data should be assigned this unique key. Yes No NA NA NA NA NA
253 location address_1 No varchar(50) This is the first line of the address. NA No No NA NA NA NA NA
254 location address_2 No varchar(50) This is the second line of the address NA No No NA NA NA NA NA
255 location city No varchar(50) NA NA No No NA NA NA NA NA
256 location state No varchar(2) NA NA No No NA NA NA NA NA
257 location zip No varchar(9) NA Zip codes are handled as strings of up to 9 characters length. For US addresses, these represent either a 3-digit abbreviated Zip code as provided by many sources for patient protection reasons, the full 5-digit Zip or the 9-digit (ZIP + 4) codes. Unless for specific reasons analytical methods should expect and utilize only the first 3 digits. For international addresses, different rules apply. No No NA NA NA NA NA
258 location county No varchar(20) NA NA No No NA NA NA NA NA
259 location location_source_value No varchar(50) NA Put the verbatim value for the location here, as it shows up in the source. No No NA NA NA NA NA
260 location latitude No float The geocoded latitude. NA No No NA NA NA NA NA
261 location longitude No float The geocoded longitude. NA No No NA NA NA NA NA
262 location_history location_id Yes bigint This is the LOCATION_ID for the LOCATION_HISTORY record. NA No Yes LOCATION LOCATION_ID NA NA NA
263 location_history relationship_type_concept_id Yes integer This is the relationship between the location and the entity (PERSON, PROVIDER, or CARE_SITE) Concepts in this field must be in the Location class. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&conceptClass=Location&page=1&pageSize=15&query=&boosts). If the DOMAIN_ID is CARE_SITE this should be 0 and when the domain is PROVIDER the value is [Office](https://athena.ohdsi.org/search-terms/terms/4121722). No Yes CONCEPT CONCEPT_ID NA NA NA
264 location_history domain_id Yes varchar(50) NA The domain of the entity that is related to the location. Either PERSON, PROVIDER, or CARE_SITE. No No NA NA NA NA NA
265 location_history entity_id Yes bigint NA The unique identifier for the entity. References either person_id, provider_id, or care_site_id, depending on domain_id. No No NA NA NA NA NA
266 location_history start_date Yes date The date the relationship started NA No No NA NA NA NA NA
267 location_history end_date No date The date the relationship ended NA No No NA NA NA NA NA
268 care_site care_site_id Yes bigint NA Assign an id to each unique combination of location_id and place_of_service_source_value. Yes No NA NA NA NA NA
269 care_site care_site_name No varchar(255) The name of the care_site as it appears in the source data NA No No NA NA NA NA NA
270 care_site place_of_service_concept_id Yes integer This is a high-level way of characterizing a Care Site. Typically, however, Care Sites can provide care in multiple settings (inpatient, outpatient, etc.) and this granularity should be reflected in the visit. Choose the concept in the visit domain that best represents the setting in which healthcare is provided in the Care Site. If most visits in a Care Site are Inpatient, then the place_of_service_concept_id should represent Inpatient. If information is present about a unique Care Site (e.g. Pharmacy) then a Care Site record should be created. If this information is not available then set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?domain=Visit&standardConcept=Standard&page=2&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
271 care_site location_id No bigint The location_id from the LOCATION table representing the physical location of the care_site. NA No Yes LOCATION LOCATION_ID NA NA NA
272 care_site care_site_source_value No varchar(50) The identifier of the care_site as it appears in the source data. This could be an identifier separate from the name of the care_site. NA No No NA NA NA NA NA
273 care_site place_of_service_source_value No varchar(50) NA Put the place of service of the care_site as it appears in the source data. No No NA NA NA NA NA
274 provider provider_id Yes bigint It is assumed that every provider with a different unique identifier is in fact a different person and should be treated independently. This identifier can be the original id from the source data provided it is an integer, otherwise it can be an autogenerated number. Yes No NA NA NA NA NA
275 provider provider_name No varchar(255) NA This field is not necessary as it is not necessary to have the actual identity of the Provider. Rather, the idea is to uniquely and anonymously identify providers of care across the database. No No NA NA NA NA NA
276 provider npi No varchar(20) This is the National Provider Number issued to health care providers in the US by the Centers for Medicare and Medicaid Services (CMS). NA No No NA NA NA NA NA
277 provider dea No varchar(20) This is the identifier issued by the DEA, a US federal agency, that allows a provider to write prescriptions for controlled substances. NA No No NA NA NA NA NA
278 provider specialty_concept_id Yes integer This field either represents the most common specialty that occurs in the data or the most specific concept that represents all specialties listed, should the provider have more than one. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists. If a Provider has more than one Specialty, there are two options: 1. Choose a concept_id which is a common ancestor to the multiple specialties, or, 2. Choose the specialty that occurs most often for the provider. Concepts in this field should be Standard with a domain of Provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Provider&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
279 provider care_site_id No bigint This is the CARE_SITE_ID for the location that the provider primarily practices in. If a Provider has more than one Care Site, the main or most often exerted CARE_SITE_ID should be recorded. No Yes CARE_SITE CARE_SITE_ID NA NA NA
280 provider year_of_birth No integer NA NA No No NA NA NA NA NA
281 provider gender_concept_id Yes integer This field represents the recorded gender of the provider in the source data. If given, put a concept from the gender domain representing the recorded gender of the provider. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Gender&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID Gender NA NA
282 provider provider_source_value No varchar(50) Use this field to link back to providers in the source data. This is typically used for error checking of ETL logic. Some use cases require the ability to link back to providers in the source data. This field allows for the storing of the provider identifier as it appears in the source. No No NA NA NA NA NA
283 provider specialty_source_value No varchar(50) This is the kind of provider or specialty as it appears in the source data. This includes physician specialties such as internal medicine, emergency medicine, etc. and allied health professionals such as nurses, midwives, and pharmacists. Put the kind of provider as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value. No No NA NA NA NA NA
284 provider specialty_source_concept_id Yes integer This is often zero as many sites use proprietary codes to store physician speciality. If the source data codes provider specialty in an OMOP supported vocabulary store the concept_id here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
285 provider gender_source_value No varchar(50) This is provider's gender as it appears in the source data. Put the provider's gender as it appears in the source data. This field is up to the discretion of the ETL-er as to whether this should be the coded value from the source or the text description of the lookup value. No No NA NA NA NA NA
286 provider gender_source_concept_id Yes integer This is often zero as many sites use proprietary codes to store provider gender. If the source data codes provider gender in an OMOP supported vocabulary store the concept_id here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
287 payer_plan_period payer_plan_period_id Yes bigint A unique identifier for each unique combination of a Person, Payer, Plan, and Period of time. NA Yes NA NA NA NA NA NA
288 payer_plan_period person_id Yes bigint The Person covered by the Plan. A single Person can have multiple, overlapping, PAYER_PLAN_PERIOD records No Yes PERSON PERSON_ID NA NA NA
289 payer_plan_period contract_person_id No bigint The Person who is the primary subscriber/contract owner for Plan. This may or may not be the same as the PERSON_ID. For example, if a mother has her son on her plan and the PAYER_PLAN_PERIOD record is the for son, the sons's PERSON_ID would go in PAYER_PLAN_PERIOD.PERSON_ID and the mother's PERSON_ID would go in PAYER_PLAN_PERIOD.CONTRACT_PERSON_ID. No Yes PERSON PERSON_ID NA NA NA
290 payer_plan_period payer_plan_period_start_date Yes date Start date of Plan coverage. NA No No NA NA NA NA NA
291 payer_plan_period payer_plan_period_end_date Yes date End date of Plan coverage. NA No No NA NA NA NA NA
292 payer_plan_period payer_concept_id Yes integer This field represents the organization who reimburses the provider which administers care to the Person. Map the Payer directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same payer, though the name of the Payer is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Payer&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
293 payer_plan_period payer_source_value No varchar(50) This is the Payer as it appears in the source data. NA No No NA NA NA NA NA
294 payer_plan_period payer_source_concept_id Yes integer NA If the source data codes the Payer in an OMOP supported vocabulary store the concept_id here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
295 payer_plan_period plan_concept_id Yes integer This field represents the specific health benefit Plan the Person is enrolled in. Map the Plan directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same health benefit Plan though the name of the Plan is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
296 payer_plan_period plan_source_value No varchar(50) This is the health benefit Plan of the Person as it appears in the source data. NA No No NA NA NA NA NA
297 payer_plan_period plan_source_concept_id Yes integer NA If the source data codes the Plan in an OMOP supported vocabulary store the concept_id here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
298 payer_plan_period contract_concept_id Yes integer This field represents the relationship between the PERSON_ID and CONTRACT_PERSON_ID. It should be read as PERSON_ID is the *CONTRACT_CONCEPT_ID* of the CONTRACT_PERSON_ID. So if CONTRACT_CONCEPT_ID represents the relationship 'Stepdaughter' then the Person for whom PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID. If available, use this field to represent the relationship between the PERSON_ID and the CONTRACT_PERSON_ID. If the Person for whom the PAYER_PLAN_PERIOD record was recorded is the stepdaughter of the CONTRACT_PERSON_ID then CONTRACT_CONCEPT_ID would be [4330864](https://athena.ohdsi.org/search-terms/terms/4330864). If not available, set to 0. [Accepted Concepts](https://athena.ohdsi.org/search-terms/terms?standardConcept=Standard&domain=Relationship&page=12&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
299 payer_plan_period contract_source_value Yes varchar(50) This is the relationship of the PERSON_ID to CONTRACT_PERSON_ID as it appears in the source data. NA No No NA NA NA NA NA
300 payer_plan_period contract_source_concept_id Yes integer NA If the source data codes the relationship between the PERSON_ID and CONTRACT_PERSON_ID in an OMOP supported vocabulary store the concept_id here. If not available, set to 0. No Yes CONCEPT CONCEPT_ID NA NA NA
301 payer_plan_period sponsor_concept_id Yes integer This field represents the sponsor of the Plan who finances the Plan. This includes self-insured, small group health plan and large group health plan. Map the sponsor directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. The point is to stratify on this information and identify if Persons have the same sponsor though the name of the sponsor is not necessary. If not available, set to 0. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Sponsor&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
302 payer_plan_period sponsor_source_value No varchar(50) The Plan sponsor as it appears in the source data. NA No No NA NA NA NA NA
303 payer_plan_period sponsor_source_concept_id No integer NA If the source data codes the sponsor in an OMOP supported vocabulary store the concept_id here. No Yes CONCEPT CONCEPT_ID NA NA NA
304 payer_plan_period family_source_value No varchar(50) The common identifier for all people (often a family) that covered by the same policy. Often these are the common digits of the enrollment id of the policy members. No No NA NA NA NA NA
305 payer_plan_period stop_reason_concept_id No integer This field represents the reason the Person left the Plan, if known. Map the stop reason directly to a standard CONCEPT_ID. If one does not exists please contact the vocabulary team. There is no global controlled vocabulary available for this information. [Accepted Concepts](http://athena.ohdsi.org/search-terms/terms?domain=Plan+Stop+Reason&standardConcept=Standard&page=1&pageSize=15&query=). No Yes CONCEPT CONCEPT_ID NA NA NA
306 payer_plan_period stop_reason_source_value No varchar(50) The Plan stop reason as it appears in the source data. NA No No NA NA NA NA NA
307 payer_plan_period stop_reason_source_concept_id No integer NA If the source data codes the stop reason in an OMOP supported vocabulary store the concept_id here. No Yes CONCEPT CONCEPT_ID NA NA NA
308 cost cost_id Yes bigint A unique identifier for each COST record. NA Yes No NA NA NA NA NA
309 cost person_id Yes bigint NA NA No No NA NA NA NA NA
310 cost cost_event_id Yes bigint If the Cost record is related to another record in the database, this field is the primary key of the linked record. Put the primary key of the linked record, if applicable, here. No No NA NA NA NA NA
311 cost cost_event_field_concept_id Yes integer If the Cost record is related to another record in the database, this field is the CONCEPT_ID that identifies which table the primary key of the linked record came from. Put the CONCEPT_ID that identifies which table and field the COST_EVENT_ID came from. No Yes CONCEPT CONCEPT_ID NA NA NA
312 cost cost_concept_id No integer A foreign key that refers to a Standard Cost Concept identifier in the Standardized Vocabularies belonging to the 'Cost' vocabulary. NA No Yes CONCEPT CONCEPT_ID NA NA NA
313 cost cost_type_concept_id No integer A foreign key identifier to a concept in the CONCEPT table for the provenance or the source of the COST data and belonging to the 'Type Concept' vocabulary NA No Yes CONCEPT CONCEPT_ID Type Concept NA NA
314 cost cost_source_concept_id No integer A foreign key to a Cost Concept that refers to the code used in the source. NA No Yes CONCEPT CONCEPT_ID NA NA NA
315 cost cost_source_value No varchar(50) The source value for the cost as it appears in the source data NA No No NA NA NA NA NA
316 cost currency_concept_id No integer A foreign key identifier to the concept representing the 3-letter code used to delineate international currencies, such as USD for US Dollar. These belong to the 'Currency' vocabulary NA No No CONCEPT CONCEPT_ID NA NA NA
317 cost cost No float The actual financial cost amount NA No No NA NA NA NA NA
318 cost incurred_date No date The first date of service of the clinical event corresponding to the cost as in table capturing the information (e.g. date of visit, date of procedure, date of condition, date of drug etc). NA No No NA NA NA NA NA
319 cost billed_date No date The date a bill was generated for a service or encounter NA No No NA NA NA NA NA
320 cost paid_date No date The date payment was received for a service or encounter NA No No NA NA NA NA NA
321 cost revenue_code_concept_id No integer A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for Revenue codes belonging to the 'Revenue Code' vocabulary. NA No Yes CONCEPT CONCEPT_ID NA NA NA
322 cost drg_concept_id No integer A foreign key referring to a Standard Concept ID in the Standardized Vocabularies for DRG codes belonging to the 'DRG' vocabulary. NA No Yes CONCEPT CONCEPT_ID NA NA NA
323 cost revenue_code_source_value No varchar(50) The source value for the Revenue code as it appears in the source data, stored here for reference. NA No No NA NA NA NA NA
324 cost drg_source_value No varchar(50) The source value for the 3-digit DRG source code as it appears in the source data, stored here for reference. NA No No NA NA NA NA NA
325 cost payer_plan_period_id No bigint A foreign key to the PAYER_PLAN_PERIOD table, where the details of the Payer, Plan and Family are stored. Record the payer_plan_id that relates to the payer who contributed to the paid_by_payer field. NA No No NA NA NA NA NA
326 drug_era drug_era_id Yes bigint NA NA Yes No NA NA NA NA NA
327 drug_era person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
328 drug_era drug_concept_id Yes integer The Concept Id representing the specific drug ingredient. NA No Yes CONCEPT CONCEPT_ID Drug Ingredient NA
329 drug_era drug_era_start_datetime Yes datetime NA The Drug Era Start Date is the start date of the first Drug Exposure for a given ingredient, with at least 31 days since the previous exposure. No No NA NA NA NA NA
330 drug_era drug_era_end_datetime Yes datetime NA The Drug Era End Date is the end date of the last Drug Exposure. The End Date of each Drug Exposure is either taken from the field drug_exposure_end_date or, as it is typically not available, inferred using the following rules: For pharmacy prescription data, the date when the drug was dispensed plus the number of days of supply are used to extrapolate the End Date for the Drug Exposure. Depending on the country-specific healthcare system, this supply information is either explicitly provided in the day_supply field or inferred from package size or similar information. For Procedure Drugs, usually the drug is administered on a single date (i.e., the administration date). A standard Persistence Window of 30 days (gap, slack) is permitted between two subsequent such extrapolated DRUG_EXPOSURE records to be considered to be merged into a single Drug Era. No No NA NA NA NA NA
331 drug_era drug_exposure_count No integer NA NA No No NA NA NA NA NA
332 drug_era gap_days No integer NA The Gap Days determine how many total drug-free days are observed between all Drug Exposure events that contribute to a DRUG_ERA record. It is assumed that the drugs are "not stockpiled" by the patient, i.e. that if a new drug prescription or refill is observed (a new DRUG_EXPOSURE record is written), the remaining supply from the previous events is abandoned. The difference between Persistence Window and Gap Days is that the former is the maximum drug-free time allowed between two subsequent DRUG_EXPOSURE records, while the latter is the sum of actual drug-free days for the given Drug Era under the above assumption of non-stockpiling. No No NA NA NA NA NA
333 dose_era dose_era_id Yes bigint NA NA Yes No NA NA NA NA NA
334 dose_era person_id Yes bigint NA NA No Yes PERSON PERSON_ID NA NA NA
335 dose_era drug_concept_id Yes integer The Concept Id representing the specific drug ingredient. NA No Yes CONCEPT CONCEPT_ID Drug Ingredient NA
336 dose_era unit_concept_id Yes integer The Concept Id representing the unit of the specific drug ingredient. NA No Yes CONCEPT CONCEPT_ID Unit NA NA
337 dose_era dose_value Yes float The numeric value of the dosage of the drug_ingredient. NA No No NA NA NA NA NA
338 dose_era dose_era_start_datetime Yes datetime The date the Person started on the specific dosage, with at least 31 days since any prior exposure. NA No No NA NA NA NA NA
339 dose_era dose_era_end_datetime Yes datetime NA The date the Person was no longer exposed to the dosage of the specific drug ingredient. An era is ended if there are 31 days or more between dosage records. No No NA NA NA NA NA
340 condition_era condition_era_id Yes bigint NA NA Yes No NA NA NA NA NA
341 condition_era person_id Yes bigint NA NA No No PERSON PERSON_ID NA NA NA
342 condition_era condition_concept_id Yes integer The Concept Id representing the Condition. NA No Yes CONCEPT CONCEPT_ID Condition NA NA
343 condition_era condition_era_start_datetime Yes datetime The start date for the Condition Era constructed from the individual instances of Condition Occurrences. It is the start date of the very first chronologically recorded instance of the condition with at least 31 days since any prior record of the same Condition. NA No No NA NA NA NA NA
344 condition_era condition_era_end_datetime Yes datetime The end date for the Condition Era constructed from the individual instances of Condition Occurrences. It is the end date of the final continuously recorded instance of the Condition. NA No No NA NA NA NA NA
345 condition_era condition_occurrence_count No integer The number of individual Condition Occurrences used to construct the condition era. NA No No NA NA NA NA NA
346 metadata metadata_concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
347 metadata metadata_type_concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
348 metadata name Yes varchar(250) NA NA No No NA NA NA NA NA
349 metadata value_as_string No varchar(250) NA NA No No NA NA NA NA NA
350 metadata value_as_concept_id No integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
351 metadata metadata_date No date NA NA No No NA NA NA NA NA
352 metadata metadata_datetime No datetime NA NA No No NA NA NA NA NA
353 cdm_source cdm_source_name Yes varchar(255) The name of the CDM instance. NA No No NA NA NA NA NA
354 cdm_source cdm_source_abbreviation No varchar(25) The abbreviation of the CDM instance. NA No No NA NA NA NA NA
355 cdm_source cdm_holder No varchar(255) The holder of the CDM instance. NA No No NA NA NA NA NA
356 cdm_source source_description No varchar(MAX) The description of the CDM instance. NA No No NA NA NA NA NA
357 cdm_source source_documentation_reference No varchar(255) NA NA No No NA NA NA NA NA
358 cdm_source cdm_etl_reference No varchar(255) NA Put the link to the CDM version used. No No NA NA NA NA NA
359 cdm_source source_release_date No date The release date of the source data. NA No No NA NA NA NA NA
360 cdm_source cdm_release_date No date The release data of the CDM instance. NA No No NA NA NA NA NA
361 cdm_source cdm_version No varchar(10) NA NA No No NA NA NA NA NA
362 cdm_source vocabulary_version No varchar(20) NA NA No No NA NA NA NA NA
363 concept concept_id Yes integer A unique identifier for each Concept across all domains. NA Yes No NA NA NA NA NA
364 concept concept_name Yes varchar(255) An unambiguous, meaningful and descriptive name for the Concept. NA No No NA NA NA NA NA
365 concept domain_id Yes varchar(20) A foreign key to the [DOMAIN](https://ohdsi.github.io/CommonDataModel/cdm531.html#domain) table the Concept belongs to. NA No Yes DOMAIN DOMAIN_ID NA NA NA
366 concept vocabulary_id Yes varchar(20) A foreign key to the [VOCABULARY](https://ohdsi.github.io/CommonDataModel/cdm531.html#vocabulary) table indicating from which source the Concept has been adapted. NA No Yes VOCABULARY VOCABULARY_ID NA NA NA
367 concept concept_class_id Yes varchar(20) The attribute or concept class of the Concept. Examples are 'Clinical Drug', 'Ingredient', 'Clinical Finding' etc. NA No Yes CONCEPT_CLASS CONCEPT_CLASS_ID NA NA NA
368 concept standard_concept No varchar(1) This flag determines where a Concept is a Standard Concept, i.e. is used in the data, a Classification Concept, or a non-standard Source Concept. The allowable values are 'S' (Standard Concept) and 'C' (Classification Concept), otherwise the content is NULL. NA No No NA NA NA NA NA
369 concept concept_code Yes varchar(50) The concept code represents the identifier of the Concept in the source vocabulary, such as SNOMED-CT concept IDs, RxNorm RXCUIs etc. Note that concept codes are not unique across vocabularies. NA No No NA NA NA NA NA
370 concept valid_start_date Yes date The date when the Concept was first recorded. The default value is 1-Jan-1970, meaning, the Concept has no (known) date of inception. NA No No NA NA NA NA NA
371 concept valid_end_date Yes date The date when the Concept became invalid because it was deleted or superseded (updated) by a new concept. The default value is 31-Dec-2099, meaning, the Concept is valid until it becomes deprecated. NA No No NA NA NA NA NA
372 concept invalid_reason No varchar(1) Reason the Concept was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value. NA No No NA NA NA NA NA
373 vocabulary vocabulary_id Yes varchar(20) A unique identifier for each Vocabulary, such as ICD9CM, SNOMED, Visit. NA Yes No NA NA NA NA NA
374 vocabulary vocabulary_name Yes varchar(255) The name describing the vocabulary, for example International Classification of Diseases, Ninth Revision, Clinical Modification, Volume 1 and 2 (NCHS) etc. NA No No NA NA NA NA NA
375 vocabulary vocabulary_reference Yes varchar(255) External reference to documentation or available download of the about the vocabulary. NA No No NA NA NA NA NA
376 vocabulary vocabulary_version No varchar(255) Version of the Vocabulary as indicated in the source. NA No No NA NA NA NA NA
377 vocabulary vocabulary_concept_id Yes integer A Concept that represents the Vocabulary the VOCABULARY record belongs to. NA No Yes CONCEPT CONCEPT_ID NA NA NA
378 domain domain_id Yes varchar(20) A unique key for each domain. NA Yes No NA NA NA NA NA
379 domain domain_name Yes varchar(255) The name describing the Domain, e.g. Condition, Procedure, Measurement etc. NA No No NA NA NA NA NA
380 domain domain_concept_id Yes integer A Concept representing the Domain Concept the DOMAIN record belongs to. NA No Yes CONCEPT CONCEPT_ID NA NA NA
381 concept_class concept_class_id Yes varchar(20) A unique key for each class. NA Yes No NA NA NA NA NA
382 concept_class concept_class_name Yes varchar(255) The name describing the Concept Class, e.g. Clinical Finding, Ingredient, etc. NA No No NA NA NA NA NA
383 concept_class concept_class_concept_id Yes integer A Concept that represents the Concept Class. NA No Yes CONCEPT CONCEPT_ID NA NA NA
384 concept_relationship concept_id_1 Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
385 concept_relationship concept_id_2 Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
386 concept_relationship relationship_id Yes varchar(20) The relationship between CONCEPT_ID_1 and CONCEPT_ID_2. Please see the [Vocabulary Conventions](https://ohdsi.github.io/CommonDataModel/dataModelConventions.html#concept_relationships). for more information. NA No Yes RELATIONSHIP RELATIONSHIP_ID NA NA NA
387 concept_relationship valid_start_date Yes date The date when the relationship is first recorded. NA No No NA NA NA NA NA
388 concept_relationship valid_end_date Yes date The date when the relationship is invalidated. NA No No NA NA NA NA NA
389 concept_relationship invalid_reason No varchar(1) Reason the relationship was invalidated. Possible values are 'D' (deleted), 'U' (updated) or NULL. NA No No NA NA NA NA NA
390 relationship relationship_id Yes varchar(20) NA NA Yes No NA NA NA NA NA
391 relationship relationship_name Yes varchar(255) NA NA No No NA NA NA NA NA
392 relationship is_hierarchical Yes varchar(1) NA NA No No NA NA NA NA NA
393 relationship defines_ancestry Yes varchar(1) NA NA No No NA NA NA NA NA
394 relationship reverse_relationship_id Yes varchar(20) NA NA No No NA NA NA NA NA
395 relationship relationship_concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
396 concept_synonym concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
397 concept_synonym concept_synonym_name Yes varchar(1000) NA NA No No NA NA NA NA NA
398 concept_synonym language_concept_id Yes integer NA NA No Yes CONCEPT CONCEPT_ID NA NA NA
399 concept_ancestor ancestor_concept_id Yes integer The Concept Id for the higher-level concept that forms the ancestor in the relationship. NA No Yes CONCEPT CONCEPT_ID NA NA NA
400 concept_ancestor descendant_concept_id Yes integer The Concept Id for the lower-level concept that forms the descendant in the relationship. NA No Yes CONCEPT CONCEPT_ID NA NA NA
401 concept_ancestor min_levels_of_separation Yes integer The minimum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis. NA No No NA NA NA NA NA
402 concept_ancestor max_levels_of_separation Yes integer The maximum separation in number of levels of hierarchy between ancestor and descendant concepts. This is an attribute that is used to simplify hierarchic analysis. NA No No NA NA NA NA NA
403 source_to_concept_map source_code Yes varchar(50) The source code being translated into a Standard Concept. NA No No NA NA NA NA NA
404 source_to_concept_map source_concept_id Yes integer A foreign key to the Source Concept that is being translated into a Standard Concept. This is either 0 or should be a number above 2 billion, which are the Concepts reserved for site-specific codes and mappings. No Yes CONCEPT CONCEPT_ID NA NA NA
405 source_to_concept_map source_vocabulary_id Yes varchar(20) A foreign key to the VOCABULARY table defining the vocabulary of the source code that is being translated to a Standard Concept. NA No No NA NA NA NA NA
406 source_to_concept_map source_code_description No varchar(255) An optional description for the source code. This is included as a convenience to compare the description of the source code to the name of the concept. NA No No NA NA NA NA NA
407 source_to_concept_map target_concept_id Yes integer The target Concept to which the source code is being mapped. NA No Yes CONCEPT CONCEPT_ID NA NA NA
408 source_to_concept_map target_vocabulary_id Yes varchar(20) The Vocabulary of the target Concept. NA No Yes VOCABULARY VOCABULARY_ID NA NA NA
409 source_to_concept_map valid_start_date Yes date The date when the mapping instance was first recorded. NA No No NA NA NA NA NA
410 source_to_concept_map valid_end_date Yes date The date when the mapping instance became invalid because it was deleted or superseded (updated) by a new relationship. Default value is 31-Dec-2099. NA No No NA NA NA NA NA
411 source_to_concept_map invalid_reason No varchar(1) Reason the mapping instance was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value. NA No No NA NA NA NA NA
412 drug_strength drug_concept_id Yes integer The Concept representing the Branded Drug or Clinical Drug Product. NA No Yes CONCEPT CONCEPT_ID NA NA NA
413 drug_strength ingredient_concept_id Yes integer The Concept representing the active ingredient contained within the drug product. Combination Drugs will have more than one record in this table, one for each active Ingredient. No Yes CONCEPT CONCEPT_ID NA NA NA
414 drug_strength amount_value No float The numeric value or the amount of active ingredient contained within the drug product. NA No No NA NA NA NA NA
415 drug_strength amount_unit_concept_id No integer The Concept representing the Unit of measure for the amount of active ingredient contained within the drug product. NA No Yes CONCEPT CONCEPT_ID NA NA NA
416 drug_strength numerator_value No float The concentration of the active ingredient contained within the drug product. NA No No NA NA NA NA NA
417 drug_strength numerator_unit_concept_id No integer The Concept representing the Unit of measure for the concentration of active ingredient. NA No Yes CONCEPT CONCEPT_ID NA NA NA
418 drug_strength denominator_value No float The amount of total liquid (or other divisible product, such as ointment, gel, spray, etc.). NA No No NA NA NA NA NA
419 drug_strength denominator_unit_concept_id No integer The Concept representing the denominator unit for the concentration of active ingredient. NA No Yes CONCEPT CONCEPT_ID NA NA NA
420 drug_strength box_size No integer The number of units of Clinical Branded Drug or Quantified Clinical or Branded Drug contained in a box as dispensed to the patient. NA No No NA NA NA NA NA
421 drug_strength valid_start_date Yes date The date when the Concept was first recorded. The default value is 1-Jan-1970. NA No No NA NA NA NA NA
422 drug_strength valid_end_date Yes date The date when then Concept became invalid. NA No No NA NA NA NA NA
423 drug_strength invalid_reason No varchar(1) Reason the concept was invalidated. Possible values are D (deleted), U (replaced with an update) or NULL when valid_end_date has the default value. NA No No NA NA NA NA NA
424 cohort cohort_definition_id Yes integer NA NA No No NA NA NA NA NA
425 cohort subject_id Yes integer NA NA No No NA NA NA NA NA
426 cohort cohort_start_date Yes date NA NA No No NA NA NA NA NA
427 cohort cohort_end_date Yes date NA NA No No NA NA NA NA NA
428 cohort_definition cohort_definition_id Yes integer This is the identifier given to the cohort, usually by the ATLAS application NA No Yes COHORT COHORT_DEFINITION_ID NA NA NA
429 cohort_definition cohort_definition_name Yes varchar(255) A short description of the cohort NA No No NA NA NA NA NA
430 cohort_definition cohort_definition_description No varchar(MAX) A complete description of the cohort. NA No No NA NA NA NA NA
431 cohort_definition definition_type_concept_id Yes integer Type defining what kind of Cohort Definition the record represents and how the syntax may be executed. NA No Yes CONCEPT CONCEPT_ID NA NA NA
432 cohort_definition cohort_definition_syntax No varchar(MAX) Syntax or code to operationalize the Cohort Definition. NA No No NA NA NA NA NA
433 cohort_definition subject_concept_id Yes integer This field contains a Concept that represents the domain of the subjects that are members of the cohort (e.g., Person, Provider, Visit). NA No Yes CONCEPT CONCEPT_ID NA NA NA
434 cohort_definition cohort_initiation_date No date A date to indicate when the Cohort was initiated in the COHORT table. NA No No NA NA NA NA NA
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547