OHDSI Home | Forums | Wiki | Github

Survey to CDM 5.4

Happy new year, commnunity! I am not sure whether this topic should be under this category. Please let me know if it should not.

I am currently working on a project to get a REDCap survey data into OMOP CDMs by using CDM 5.4. The survey data is about Epilepsy. Besides the patient’s basic info, the survey consist of quite a few yes/no and multiple questions. Some questions are from standard questionnaires such as ‘QOLIE-10’, ‘EQ-5D-5L’, ‘NDDI-E’, ‘GAD-7’ and ‘Livepool adverse event’ some are non-standard. They look like this:

Q: Taking into account all aspects of your epilepsy or seizure disorder, how disabling is it? (please check one)
* Extremely disabling
* Very disabling
* Quite disabling
* Moderately disabling
* Somewhat disabling
* A little disabling
* Not at all disabling

Q: Do you take anti-seizure medication(s)?
* Yes
* No

Q: Do you currently dirve?
* Yes
* No

Q: Who is completing this form?
* Patient
* Caregiver

Q: What had do you primarily use?
* Right
* Left
* Both

Q: What is your primary source of income? Please check all that apply. View data history
* View comment log
* Employment
* Spouse/Family Support
* Investment/Savings
* Retirement Pension
* Social Services
* Disability Insurance
* None

I come across problems. The problems are many options are not in ‘Athena’. I read some discussions posted back a while ago. The way to do would be:

For multiple questions, make one question for each of its options and save the target data into ‘Observation’ table (I am using CDM 5.4). But what if an option item say ‘AISH’ is not in the ‘concept’ table, how should you do it? Just add new item for it straight into ‘Concept’ table?

Can I make my own set of survey option concept_ids for this purpose? If I do in this way, what vocabulary tables involved? Is ‘Concept’ table the only one? What is the best practice?

Any suggestions are highly appreciated. Thank you in advance.

Zohdsi - Ray

For questionnaires, you may find the most relevant concept within the Observation domain and put its answer options as value_as_concept_id (in general no Domain restrictions exist, but Meas Value is preferred).

“What is your primary source of income?” ‘Maps to’ 4073459 Income details
“AISH” ‘Maps to value’ 4144138 Aids for severely

Also, some of your examples are not really question-answer pairs and can be represented as OMOP events (eg сonditions: “What had do you primarily use? * Right” stands for Right handed 4263218).

And of course, in case of appropriate targets absence, 2billion concepts creation is still a reasonable option. (More info about 2billion concept here: How to add a custom vocabulary to the OMOP vocabulary table?).

1 Like

Thank you very much, Irina!

I think another related question is: do all the QUESTIONs’ mapping concepts have to come from the same ‘Vocabulary’, for instance all from SNOMED or LOINC?



As discussed in the Forum debates before. Questionnaires are tricky. For a number of reasons:

  • The questions and answers are defined within the questionnaire. Outside of it nobody is aware of them, and they don’t make a lot of sense. For example, for the question-answer pair “Do you take anti seizure medication”-“Yes” you really want a record in the DRUG_EXPOSURE table about that. But that won’t work, because “seizure medication” is not a defined concept, and there is no time stamp whatsoever.
  • A lot of the questions are not of clinical nature. For example, “Who is completing this form” may have some meaning within the questionnaire, but from an OMOP perspective it is irrelevant.
  • The question-answer pairs are arbitrary. For example, “What is your primary source of income” lists a number of answers. Isn’t AISH a form of social services? And what is “View comment log”?

Bottom line: For everything the OMOP CDM is strong, namely the precision of facts and their timing, the surveys fall very short. You may want to keep the actual survey outside the OMOP CDM, and only use the OMOPable data for the OMOP instance. When you analyze, you know how to make use of the survey information, and everybody else will happily ignore them. Which is fine.

When you are OMOPing data, always assume somebody is going to query them from the outside of your institution, without any specific knowledge what they are about. In other words, the data are not for you, they are for the community. Everything that doesn’t fit that notion should not be in the OMOP CDM.