OHDSI Home | Forums | Wiki | Github

Convert my custom data into CDM

Hi all,
I’m trying to add a custom concept, which is a CSV (for example Heart Rate.csv )into the ohdsi database. But for that, I have to convert it into a CDM format I suppose. Also, I’m a python user, don’t know much about R so if there is anything you guys would like to share that will help me both in the case of R as well as python.
Also is there anything in the community that can convert or add some custom concept or vocabulary into the database, some prebuild script, or anything?


Would you supply some examples of the custom concepts you intend to add so we can better understand your needs? Also, is it your intent to map your custom concepts to OHDSI standard concepts?

Usagi is an application to help create mappings between coding systems and the Vocabulary standard concepts.

Yeah for my case I want to add a Heartrate concept file, to create a custom concept in the OHDSI. For example, this is how my heartrate.csv file is

And I want to add this concept to the OHDSI, how can I do that?

Yeah, I do want to map my custom concept to OHDSI standard concept, then only I can query that data out using ATLAS and create cohorts and use my custom concept? Right?

And also if it is not necessary to map to OHDSI standard concepts to query data through ATLAS and create cohorts then I don’t need to map custom concepts to that.

According to the OHDSI standards it’s obligatory to use only standard concepts. So you have to map the concepts from your source to the standard concepts. For example, the standard concept for “Heart rate” will be 3027018 8867-4 Heart rate Clinical Observation Standard Valid Measurement LOINC or 4239408 364075005 Heart rate Observable Entity Standard Valid Measurement SNOMED. You can you Athena (Athena) for such mapping.

@ayazwani ,

The Book of OHDSI explains how to custom map source values to standard concept_ids via the Source to Concept Map (STCM) table. This Symposium poster discusses the STCM method and another method.

Hi @ayazwani, could you give a bit more context on the dataset you are trying to map? And maybe even what the goal of mapping your data to OMOP is?
It is good to know that OMOP was designed for claims and EHR data. This does not exclude data from wearable devices, but there might be some limitations. That said, we welcome new types of data, and if there is a good use case, it is very worthwhile to look into!

@Mikita_Salavei Thanks, I may need some more help.
I mapped the concepts from my source to standard concepts.
Further what tables do I need to populate (this time I’m only using observation and person table), but using them I’m not able to use them in ATLAS. Can tell me where I’m going wrong?


Please, describe your problem more precisely, icluding domains of your target concepts you use in observation and person tables.

@Mikita_Salavei Yeah, So what we are trying to do is, we have our custom heart rate data. And we are trying to do an ETL into the CDM database where we use the concept id for our heart rate data from SNOMED which is 4239408 364075005. Once ETL is done. We then try to use this data from the ATLAS to define new cohorts but we are not able to see data there. (Currently, we are only adding this data inside observation and person table.)

Could you explain what you expect to see and what you are seeing instead? Does Atlas give an error?

Without knowing more I can only give you two general pointers: make sure every person has an observation period and try to run Achilles.

concept_id = 4239408 has a domain_id = Measurement. These data need to live in the Measurement table in order to be used by Atlas.

While doing this as you suggested. I did ETL and put data inside the person table, then the observation period table, and further into the measurement table.

But after that when I try to create a concept from the atlas and include concept id =4239408
into and see the records associated. There is nothing updated it still shows zero records RC and DRC are 0.
Any suggestions more?

Do you have your CDM selected in the Data Sources drop down?

Yeah, I have CDM selected. Like this:

I’m unsure. Ask @Chris_Knoll, he’s an Atlas expert and excellent with trouble shooting these issues!

I’m having trouble following some of the statements: ‘try to create a concept from the atlas’…you can’t create concepts in atlas. ‘There is nothing updated it still shows zero records RC and DRC are 0’…RC and DRC come from running the Achilles analysis, and I’m not sure where you are looking for the RC and DRC numbers when your screenshot shows a picture of the ‘Datasources’ tab, which I don’t think shows RC or DRC at all.

After you update your CDM data, you’ll have to re-run the Achilles analysis so that the reports under Datasources get updated.

What I’m trying to do is that I’m trying to ETL data (heart rate data) inside the CDM database to make a custom concept and link it to the concept_id = 4239408 once that is completed (person, observation_period, and measurement table get populated).
After that, I try to use the data that I Loaded using ETL to create cohorts. But I’m not able to use that data in the inclusion criterion after importing concepts. Any suggestions.