I’m looking at the OBSERVATION table documented here: OMOP CDM v5.4
It looks like the only way to get a name of an observation is through the observation_concept_id. What can be done when source data have observations that do not have existing concepts in the concept table? I know I can assign 0 to the observation_concept_id.
However, I’m not seeing any place where I can give the observation a name. I realize this information will have limited value from a research perspective (i.e. observations that cannot be mapped to standard concepts cannot really be queried using standard tools).
However, it would be nice to be able to give the observation a name so that we could see what observations in the source data are being mapped to concept 0.
In other words, if I have an observation “The price of tea on day of examination”, How can I write this observation to OMOP in a way that will allow me to know that the given observation was “The price of tea on day of examination”.
In this case you can create your own custom concept IDs. Custom concepts must have ID number higher than 2 billion (dataModelConventions.knit). To do that, simply add a new row to the CONCEPT table in your OMOP CDM database.
Then, you use your custom concept to populate the *_source_concept_id field in the appropriate table, not the *_concept_id field. The *_concept_id fields should only receive concepts from vocabularies considered standard under the OMOP CDM (see https://athena.ohdsi.org/). If you use a concept from a non-standard vocabulary, or if you set the *_concept_id field to 0, you’re violating the OMOP CDM standard and, at the very least, your data won’t be suitable for network studies.
So what you can do is this: map your concept to a standard one. To do this, you can use Usagi (check OHDSI’s GitHub) and all you have to do is add rows to CONCEPT_RELATIONSHIP. Then you place the standard concept in the *_concept_id field, and the custom one in *_source_concept_id.
I hope this clarifies the OMOP CDM conventions a bit.
@greshje The observation_source_value is where you can put the Observation name, per your example "The price of tea on day of examination”.
I agree with most of @fabkury response except for “if you set the *_concept_id field to 0, you’re violating the OMOP CDM standard”. The Observation record would be ignored by any network study, but 0 (No matching concept) is not niolating the OMOP CDM standard, regardless of the fact that concept_id zero standard concept id is NULL. I will take that up with vocabulary group next.