A concept set is a list of CDM Vocabulary concepts. You might refer to them as a 'code list'. You might have seen in literature that the list of codes used to identify patients is written as 'ICD9 codes for Cardiac dysrhythmias: 427.x'. That's a sort of 'expression that you interpret to mean all the ICD9 codes that fall under the 427 group, like 427.31, 427.32, etc.
A concept set expression is a CDM vocabulary-oriented construct where you list the set of concept IDs that you want to bring in to a code list, and indicate if you should include the concepts below the concept in the hierarchy. Example: Include Depression and descendants, exclude Bipolar and descendants. The expression, much like the 427.x expression above, resolves into a larger, complete set of concepts/codes that are identified with the concept set expression.This result is the 'concept set'.
A cohort is a group of people that satisfy a cohort expression. Example expression: Newly diagnosed depression (not including bipolar)* with no prior antidepressant exposure**. Cohort exits when person receives first antidepressant** after cohort entry.. New diagnosis means 'first diagnosis in history'. the * represents a concept set identifying those codes which are used to identify people with any depression code, not including bipolar codes.the ** represents a concept set which identifies the drug concepts which are antidepressants.
Things to note about cohort expressions: it includes logic about which codes should be used and how these codes should be found relative to the diagnosis/exposure dates. A cohort is the set of people that satisfy this criteria, and each person has a start date (when they first meet the criteria) and an end date (when they meet the criteria to exit the cohort).
So, to summarize: concept sets identify codes, cohorts identify people.