OHDSI Home | Forums | Wiki | Github

Length of concept_name

In CONCEPT table, data type of concept_name is varchar(255).

concept_name Yes varchar(255) An unambiguous, meaningful and descriptive name for the Concept. [from http://www.ohdsi.org/web/wiki/doku.php?id=documentation:cdm:concept]

However, the length of some terms exceeds 255 characters.

Example.

Concept ID: 46247720
Concept code: 99498
Concept name: Advance care planning including the explanation and discussion of advance directives such as standard forms (with completion of such forms, when performed), by the physician or other qualified health care professional; each additional 30 minutes (List sep

Original name: Advance care planning including the explanation and discussion of advance directives such as standard forms (with completion of such forms, when performed), by the physician or other qualified health care professional; each additional 30 minutes (List separately in addition to code for primary procedure)

Concept ID: 46288766
Concept code: 66880683-57dc-201a-4241-15dd08206fe3
Concept name: THROAT CARE - aconitum nap., apis mel., arum dracontium, belladonna, bryonia, cajuputum, ferrum phosphoricum, glycyrrhiza glabra, kali bic., lachesis, mentha piperita, merc. viv., naja, nat. carb., nat. sulphuricum, nitricum ac., nux vom., phosphorus, phy

Original name: THROAT CARE - aconitum nap., apis mel., arum dracontium, belladonna, bryonia, cajuputum, ferrum phosphoricum, glycyrrhiza glabra, kali bic., lachesis, mentha piperita, merc. viv., naja, nat. carb., nat. sulphuricum, nitricum ac., nux vom., phosphorus, phytolacca, pulsatilla, spongia, stannum met., sticta, thuja occ., ulmus fulva, verbascum, echinacea pelle

Why does concept_name have a length of 255 characters?

@zeus:

Good name!

255 characters so UI developers know what to expect in that field, when they build the screen. Does it fit on a line and can be put in a table, or is it possible that there are descriptions are as long as a chapter in a medical textbook.

So, cut it at 255. The longer uncut version please put into the table CONCEPT_SYNONYM. There you got 1000 characters. I don’t think more than 1000 characters makes any sense for a description of a concept.

That’s a homeopathic product, it seems. Normally drugs have one, two or three ingredients, rarely more (prenatal vitamin preparations the most notable exception). Nobody will read this thing. If they really want to know what ingredients went into this they can use CONCEPT_ANCESTOR and derive the ingredients.

Christian - you essentially said put concept description into synonym. I would argue that concept name and synonym both should be brief. And in the long run, why not have a field for ‘concept_definition’ or ‘concept_description’.

@Vojtech_Huser: All good points, but why? What is the use case? Why do we need a lengthy exposé? Nice to have, or supporting an analytical question?

OK. It is a display issue.
I can understand it. That is not an easy problem.

But I still have questions.
You mentioned the CONCEPT_SYNONYM table.
However, I still could not find the full names of 46247720 and 46288766 in CONCEPT_SYNONYM table.
(46247720 and 46288766 are just examples; there are many more examples.)

How do I know if the concept_name in the CONCEPT table is truncated or not?
How can I know if the synonym has been added to the CONCEPT_SYNONYM table due to insufficient length of concept_name of the CONCEPT table?
There are also examples in the CONCEPT_SYNONYM table where the length of concept_synonym_name exceeds 1000.

Thanks.

can you please tell where are you looking on their names?

Unfortunately there’s no flag for that. You can know by reverse engineering the process of name creation

select * from concept where length (concept_name) = 255 -- usually we just cut the name. and there's pretty low probabity that the name had exactly 255 symbols
or vocabulary_id = 'RxNorm Extension' and concept_name  like '%...%' -- in RxNorm Extension we create names by ourselfes, and here is some smarter approach, if the name is too long, we replace some drug ingredients by "...".

Well, if the concept belongs to previous corpus, then it should have different name in CONCEPT_SYNONYM:

select distinct c.concept_id from concept c
join  concept_synonym s on c.concept_id = s.concept_id and  c.concept_name != s.concept_synonym_name
 where  length (concept_name) = 255  
or vocabulary_id = 'RxNorm Extension' and concept_name  like '%...%'  

Yes, there are.
@Christian_Reich can we make length (concept_synponym_name) = 2000?

I’m sorry I’m not used to deal this edit.

@Dymshyts can you please tell where are you looking on their names?

I’m sorry I don’t understand your question exactly.

SELECT *
FROM [CONCEPT_SYNONYM]
WHERE concept_id IN (46247720, 46288766)

Is it answer that you want?

I am a beginner to study CDM.
I’m looking at the CDM data structure, and I have some questions.

Thank you all for your interest.

I was asking because I thought you found some external source, comprared it with our CONCEPT_SYNONYM and figured out that names differs.

But now I see what you mean. There are just some strange names in CONCEPT_SYNONYM. And it happens. We take the names exactly as the source gives us.

t