Hello, community!
As we’re moving into Atlas 3.0, we’re looking at potential changes that might cause disruption in existing functionality, and this thread is going to focus on one aspect of concept set expressions: mapped concepts.
Note: this is something that we may consider as a hotfix to the 2.x line of Atlas/WebAPI depending on community feedback.
Background
When defining a concept set, you specify a set of ‘items’ that contain the following elements:
concept_id: the CDM concept ID representing the conceptID to use
isExclude: if this concept is serving as an exclusion to the final concept set expression
isDescendant: if this concept should pull in descendants from concept_ancestor
isMapped: if this concept should pull in mapped concepts found by using the concept_relationship’s ‘Maps To’ relationship.
The way the final list of concepts (which we call ‘resolved concepts’) is we take all the concepts that are not excluded, plus the ancestors and mapped concepts for those items that say to include them, and then finally remove any concepts that are marked ‘exclude’ (and we will include mapped/descendant concepts if the exclusion item says to do so).
Now that you know everything there is to know about how concept sets work (haha, joking), I’d like to focus on the ‘Mapped’ option of a concept set item:
The use case for using the ‘mapped’ option is to pull in ‘source concepts’ into your concept set expression. This supports use cases where the researcher wants to focus on one particular coding system (such as ICD9 or ICD10) for their code lists.
When you have a concept set item that says ‘use Mapped’, the resolved concepts will include both the standard concept (that you want the mapped concepts for) and the mapped concepts themselves. We’ve received feedback that it is not intuitive that when you asked for mapped concepts you are also getting the standard concepts, when the user in this case only wanted to see the mapped concepts in their resolved concept set.
Proposed Change
The proposed change is that we change the behavior of the ‘mapped’ option to only include the mapped source concepts in the resolved concepts. If we make this change, it’s still possible to have a concept set expression that includes standard concepts + descendants and mapped concepts, you would just specify one item says ‘include mapped’ and the other would say ‘include descenants’, and since you asked for both, the resolved concepts will have both. To me this is clearer as it’s more explicit in what the user is requesting, and leads to less confusion about why you are seeing the standard concepts in the result when you only expected mapped concepts.
The question to the community is: Would this change impact your work? If you only cared about the source concepts in the resolved concepts, then this change won’t impact you. If you were using one concept set with ‘mapped’ and you were looking at the ‘source_concept_id’ columns and the standard concept columns (such as CONDITION_CONCEPT_ID and CONDITION_SOURCE_CONCEPT_ID) using a concept set with ‘mapped’ options that mixed standard and non-standard concepts, then this might impact you.
Please provide your thoughts.
Thank you!


