In the SMQ vocabulary, there is a total of 106 pairs of concepts that are standard (standard_concept value is C), and valid (valid_end_date is 20991231, and invalid_reason set to null). Only the concept IDs differ as well as the concept names. Names differ only in the suffix which is either ‘narrow’ or ‘broad’.
From reading the documentation, my understanding was that concept IDs are to be unique over all available vocabularies, and that concept codes should be unique over a single vocabulary given that we are looking only for valid concepts. I understand that concept codes may be re-used or re-purposed if the previous concept was invalidated, but what I encountered is not the case…
Can someone please shed some light on this situation, and perhaps explain what we should do if we encounter more of these situations in the vocabulary collection? How to uniquely identify a concept if vocabulary_id - concept_code pair is not unique for valid concepts, and we might not always get the concept_name or even if we do get it it might not be equal to any within the database because it is a string and if prone changes and alterations…
We are in the process of parsing some source files and mapping them to vocabularies. Our aim is to read the vocabulary ID and concept code and map it to the corresponding concept (concept ID) in the database. This can end up not being entirely possible if we were to encounter more situations like this. Luckily for us, the source files are not referencing the SMQ vocabulary, but some others might