OHDSI Home | Forums | Wiki | Github

Linking patient survey responses together

ICON is developing a platform in partnership with ICHOM to consume patient-reported outcome data.
Patient-reported outcomes are captured through different surveys (online or otherwise) throughout the patient’s care. We intend to store the responses to each question as individual rows in the observation table where OBSERVATION_CONCEPT_ID will represent the question and and the value fields will store the actual response.

We are considering the addition of a new table - SURVEYS - which will not be in the CDM itself, but will bind together other data in the CDM. The SURVEYS table contains one row for each survey that was completed by a patient. This row will include information such as

  • the name of the survey that was used,
  • who filled it in (patient, parent, clinician, etc.)
  • how the data was captured (eForm, or other method)
  • time taken to complete survey

We would like to link the responses in the OBSERVATION table back to the actual survey in the SURVEYS table, but currently there is no appropriate field to store this data. The VISIT_OCCURRENCE_ID does not fully cover our needs in this regard.

Has anyone else come up with this problem and if so how did you solve it?
Is there merit in adding a new field to the OBSERVATION table that can be used to map to SURVEYS?

Thanks for any advice.
Catherine Kerr

Catherine,

We faced a similar problem as you when trying to work with a number of PRO instruments since many of them are not yet mapped to a vocabulary. Very few PRO outside of the big ones like EQ-5D are mapped today.

There was research done on this topic that we investigated/considered: http://www.ohdsi.org/web/wiki/lib/exe/fetch.php?media=resources:using_the_omop_cdm_with_survey_and_registry_data_v6.0.pdf

Ultimately though, we struggled since our PRO was not close enough to any existing concepts. We ended up creating custom concepts in their own custom vocabulary in the Observation domain for the survey questions we couldn’t map.

We were considering a similar proposal to yours about requesting the creation of a Survey table, but we decided against it because it negates the efficiency gains from using numeric concepts.

I’m not advocating that as the best approach, just the one that we took.

Hi Joshua,
Thanks for the response. I have also looked at the research you referenced and I have been in touch with @clairblacketer about it. You touched on a separate issue that I am also trying to address - i.e. the lack of standard concept ids for PRO instruments. In the short term, we will do the same as you - create custom concepts and vocabulary.
My other issue is not really a concept one - it’s more of a data relationship problem. I just want to be able to map responses in the Observation table to the survey instance that they belong to. I am not merely looking to map a bunch of observations to the survey EQ-5D (that can be done through the Concept table) - I want to map them to survey EQ-5D that was filled in by person 1234 on March 1 2017, for example.
I hope this makes sense.
All the best,
Catherine

To us, this is where we would leverage the Fact_relationship table. To continue on with the EQ-5D example:

Concept_id = 27 (this is the Concept_id in OMOP for the Observation domain)

Observation_id = 1
Observation_date = 3/1/2017
Observation_concept_id = 40483273 (this is the SNOMED concept for the EQ-5D survey in totality)

Observation_id = 2
Observation_date = 3/1/2017
Observation_concept_id = 44806412 (this is the SNOMED concept for the EQ-5D mobility score)

Using the above, one would put the following into the Fact_relationship table
Domain_concept_id_1 = 27 (Observation domain)
fact_id_1 = 1 (the Id for the EQ-5D survey)
Domain_concept_id_2 = 27 (Observation domain)
fact_id_2 = 2 (the Id for the EQ-5D mobility question)
relationship_concept_id = “Is a” or perhaps “Maps to”

Yes - I see what you’re doing. In plain English this might represent

“Observation_id 1, representing survey EQ-5D filled by patient 1234 on 3/1/2017 contains answer for MOBILITY in observation_id 2”?

where contains is the relationship. Is that right?

Thank you so much - this is very helpful.
Regards,
Catherine

Also Joshua - another quick question…
Are you also storing the RESPONSE to the question as a concept_id? It looks like some survey responses are in the concept table, especially where they are well-defined in LOINC, but are the EQ-5D responses in the concept table?
Thanks,
Catherine

Yes, you are correct, and I overlooked the “contains” relationship, that would be a good one for this situation.

To your follow up question, that depends on the survey. We tend to try and use the value_as_number column whenever possible (including for EQ5D), but you can absolutely use the value_as_concept column if a concept is close enough to the response or value_as_string if the survey is too divergent.

Thanks Joshua. You have been most helpful. CK

Friends!

Hold on a sec. What you are doing here is to squish your data into a suboptimal model, using some awkward links, etc. No automated tool will ever be able to figure that out. Even a Human will have a hard time.

Why don’t we do that properly and amend the model. We have a WG where you can propose the new table, and it can contain all the necessary elements. We can take it out of the Observation table (which is really a garbage can for everything that doesn’t have a home).

Interested in that? The WG has a whole list of such proposals.

Let us know.

Hi Christian,
That would indeed be the optimal solution. Using FACT_RELATIONSHIP is very clunky.
I notice that there is a placeholder for “Include survey data” in your list of proposals. Is someone already working on this? We may be able to collaborate.
Thanks,
Catherine

@cmkerr:

It’s all yours. :smile:

The way it goes is you propose the analytical use cases, your proposal with the table structure and description, and the rationale. Look at some of the other ones, e.g. this one.

Are you coming to the face-to-face on Friday?

Can’t I’m afraid - St. Patrick’s Day on Friday :fireworks:
Sent you separate message.
Cheers,
Catherine

You sent me a separate message? Where?

I clicked on your name and sent you a message. Is that not the way to do it?

OMG. I didn’t know there is such a thing! Ridiculous. Now I found it and answered.

Did this topic (linking patient survey responses, which is similar to the PRO discussion) ever get listed on the Data Modeling WG proposals? There is a similar thread [“Modeling patient-reported outcomes in the OMOP Common Data Model][1]” by @Patrick_Ryan where he provides useful information.I was looking for any resolution of best PRO survey modeling conventions and/or timeline for model modifications to address this. Maybe it was determined that @Patrick_Ryan and @clairblacketer was sufficient and modeling modifications were not required. Will someone let me know.
thanks, Lisa

Lisa,

So far the CDM proposal called ‘Add Survey Data’ has not yet been written. You can find the listing here if you scroll about half way down the page though it is still blank. I am not sure how or if @cmkerr ended up implementing the table described above in her data but I agree we need a better way to handle survey information in the CDM.

Thanks Claire, I looked at the list and missed it.

Lisa Schilling, MD, MSPH

@schillil, @cmkerr, @Josh_R: Want to get cranking?

Sure, I’ll gather some individuals at SHYFT that worked on a problem like this and we’ll start on a draft proposal.

t