OHDSI Home | Forums | Wiki | Github

SOGI Sexual Orientation Gender Identity

Hello- We are try to map the ‘standard’ SOGI questionnaire to OMOP CDM/Concepts and wondering if any site has already started this and would be willing to share. Epic has a standard flowsheet, so at least any Epic user, would be starting with same set of data collection points (variables) and possible responses (values) @MPhilofsky- if you know anything other work at CU on this. THanks

1 Like

Hello @schillil,

We’ve got this same task on our roadmap. We’re planning to tackle it over the next 6-8 weeks, so I would be happy to compare notes.

We’ve designed a custom table in Epic Caboodle into which we’ll load the records from Clarity’s social_hx and social_hx_alc_use tables. Then we’ll load our OMOP observation table from there.

Did this a few years ago, may work as a starting point

4.9.3 OBSERVATION FROM SOCIAL HISTORY
Social histories, social_hx, cover life style questions about a person’s smoking, drinking, drug use and sexual behavior. Most questions result in a YES or NO answer, a few questions result in a number, such as drinks per day, and type of contraceptive use will be recorded as value as string. The following table shows the concept identifiers to use. Note: for some Y/N questions the table reports both Y and N values, for others, only add a record if the response is Y (yes). When the value_as_string is Yes or No, also define the value_as_concept_id as 4188539 (Yes) or 4188540 (No). Do NOT create a record when the SOCIAL_HX column resolves to NOT ASKED.
4.9.3.1 Tobacco Use
Tobacco related patient observations should have the Observation.observation_concept_id set to 4041306 (Tobacco use and exposure). The concept describing the observations will be in the value_as_concept_id column. The existence of a record, assumes that the answer to the question is Yes.

Observation Social_hx Column Possible Response Value as Concept Id Notes
Tobacco Use tobacco_user_c 1-Yes 4298794 (Smoker) Need to validate against ZC_TOBACCO_USER
2-Never 4144272 (Never smoked tobacco)
3-Not Asked Do not create a record
4-Quit 4310250 (Ex-smoker)
5-Passive 4009853 (Second hand cigarette smoke)
Packs Per Day tobacco_pak_per_dy If < 0.5 then 4052029 (Light cigarette smoker (1-9 cigs/day)) The value is text. The answers assume the text can be parsed into a number.
>= 0.5 and < 1 4052030 (Moderate cigarette smoker (10-19 cigs/day))
>= 1 4052947 (Heavy cigarette smoker (20-39 cigs/day))
Tobacco use years tobacco_used_years Numeric 4151768 (Pack years) The value is text. The answers assume the text can be parsed into a number. Multiple Tobacco Use Years times Packs Per Day. If Packs Per Day not defined or cannot be parsed use 1. The result will go in value as number.
Cigarettes Use cigarettes_yn Y-Yes 4276526 (Cigarette smoker)
N-No Do not create a record
Pipe Use pipes_yn Y-Yes 4218917 (Pipe smoker)
N-No Do not create a record
Cigar Use cigars_yn Y-Yes 4246415 (Cigar smoker)
N-No Do not create a record
Snuff Use snuff_yn Y-Yes 4043053 (Snuff user)
N-No Do not create a record
Chewing Use chew_yn Y-Yes 4218741 (Chews tobacco)
N-No Do not create a record
Smoking Start Date smoking_start_date Date 4141787 (Smoking started)
Smoking Quit Date smoking_quit_date Date Set to zero No matching concept

Observation field mapping for Social History, Tobacco Use:

Destination Field Source Field Applied Rule Comment
OBSERVATION_ID Observation sequence
PERSON_ID Social_hx.pat_id Look up OMOP person id using the Clarity pat_id.
OBSERVATION_CONCEPT_ID 4041306 (Tobacco use and exposure)
OBSERVATION_DATE Social_hx.contact_date
OBSERVATION_DATETIME Social_hx.contact_date Same as observation date. If date portion is not available default to 00.00.00
OBSERVATION_TYPE_CONCEPT_ID 38000280 ‘Observation recorded from EHR’ concept_id 38000280
VALUE_AS_NUMBER tobacco_pak_per_daytobacco_used_years See description in above table
VALUE_AS_STRING tobacco_user_c, cigarettes_yn, pipes_yn, cigars_yn, snuff_yn, chew_yn, smoking_start_date , smoking_quit_date Set to the value for the Social History columns in the above table
VALUE_AS_CONCEPT_ID Set to the value as concept_id in the table above
QUALIFIER_CONCEPT_ID Set to zero
UNIT_CONCEPT_ID Set to zero
PROVIDER_ID NULL Foreign key into provider
VISIT_OCCURRENCE_ID Social_hx.pat_enc_csn_id Look up visit_occurence_id from visit_occurrence using pat_enc_csn_id
OBSERVATION_SOURCE_VALUE tobacco_user_c, cigarettes_yn, pipes_yn, cigars_yn, snuff_yn, ,chew_yn, ,smoking_start_date, ,smoking_quit_date Set to the values in the Observation column from the table above.
OBSERVATION_SOURCE_CONCEPT_ID Set to zero A foreign key to a concept that refers to the code used in the source.
UNIT_SOURCE_VALUE Set to ‘packs per day’ for tobacco_pak_per_day and ‘years’ for tobacco_used_years
QUALIFIER_SOURCE_VALUE Set to NULL

4.9.3.2 Lifestyle
Lifestyle questions are also contained in the Pat Encounter (pat_enc) file. They will be mapped OMOP fields using the following table. Do not include entries if empty in the source data.

Observation Social_hx Column Observation Concept Id Concept Name Units Notes
Alcohol User alcohol_use_c 4226563 Risk control behavior: alcohol use none 1-YES 2-NO 3-NOT ASKED
Alcohol Oz per week alcohol_oz_per_wk 4052351 AI - Alcohol intake oz per week No matching concept. Concatinate the number of ounces with ‘oz. per week’ and put in value as string.
IV Drug User iv_drug_user_yn 4038710 Drug injection behavior none Y-YES N-NO
Sexually Active sexually_active_c no matching concept still fill in observation source value “sexually active”, value as string Y-YES N-NO
Female Partner female_partner_yn 4283657 Sexual orientation none If ‘Y’ value as string = ‘female’
Male Partner male_partner_yn 4283657 Sexual orientation none If ‘Y’ value as string = ‘male’
Condom use condom_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string =“condom”
Pill Use pill_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “pill”
Diaphram use diaphragm_yn 4314454 Contraceptive use behavior none If ‘Y’ value as string = “diaphram”
IUD use iud_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “iud”
Surgical use surgical_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “surgical”
spermicide use spermicide_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “spermicide”
Implant use implant_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “implant”
Rhythm use rhythm_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “rhythm”
Injection use injection_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “injection”
Sponge use sponge_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “sponge”
Inserts use inserts_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “insert”
Abstinence abstinence_yn 4314454 Contraceptive use behaviour none If ‘Y’ value as string = “abstinence”

I’d love to participate. We use the full SOGI on Epic and have a fair amount of data to test against. Nothing, I think, is mapped yet.

@schillil,

Colorado hasn’t mapped the SOGI questionnaire to standard concepts. I haven’t analyzed these source data, but most questionnaires will map to the v6 Survey table. The Survey table is under active discussion in regards to UKB project and CDM v6 adoption. I thought there was a Survey WG, but I didn’t find info on the OHDSI wiki page.

@MPhilofsky @David_Dorr @DTorok @quinnt
Thank you all for the speedy reply. We are outlining all the elements/questions in the SOGI and the acceptable values as a first step. If anyone has done this already please share. If not, we’ll share what we do as soon as we finish. I can also start an OHDSI team site, where we could share this stuff. @quinnt (@David_Dorr) I’d be interested in the Caboodle structure you set up-- b/c Epic is proprietary we cannot post that somewhere available to all- so might share by email. Im at lisa.schilling@cuanschutz.edu. I’ll follow up in a bit but wanted to reply asap. THANKS!!

@MPhilofsky @David_Dorr @DTorok @quinnt
Update- We have taken the Epic Foundation SOGI form (which should be standard, as SOGI is ‘standard’) and aligned all the questions-response pairs in an xls to support OMOP mapping. I tell you that so you don’t repeat this effort- what you may all need to do is add additional responses that your organization may have allowed, which we did not.
Next steps-

  1. Where is the best place to post this xls so we can use it collaboratively? We’ve got some EpicIDs in the xls, which I might remove, but I could send that xls version via email, if you wanted.
  2. We will need to make a decision regarding which OMOP table- Survey or Observation (for the most part). I need to use this work before my institution rolls out V6 (we are V5.3.1). I’m not sure what the deciding features are for surveys- but SOGI is now considered part of our clinical exam, much like a past medical or surgical history, so I’d advocate for Observation, but I say that without understanding the philosophy/intent of the Survey table.
    2a. We should present to the CDM WG regarding our intent and may sure we’re aligned with the community.
  3. SOGI specific meeting- we should meet to kick this off-- will you all email me at lisa.schilling@cuanschutz.edu with subject OMOP SOGI, and I’ll work on setting something up.
    Thanks!

@DTorok @quinnt @David_Dorr @MPhilofsky @marypmancuso
Update- I’m presenting the SOGI mapping to the CDM WG on 2/16 at 1 pm ET, 11 am MT with the goal of covering the below: (same as #2 above)- I hope you can join
We will need to make a decision regarding which OMOP table- Survey or Observation (for the most part). I need to use this work before my institution rolls out V6 (we are V5.3.1). I’m not sure what the deciding features are for surveys- but SOGI is now considered part of our clinical exam, much like a past medical or surgical history, so I’d advocate for Observation, but I say that without understanding the philosophy/intent of the Survey table.
2a. make sure we’re aligned with the community.

1 Like

Please forward to me. Thanks!

@MPhilofsky-- will do as soon as we finish it up

@quinnt Hi Tim. Will you be attending the CDM meeting on 2/16? Would you email me at lisa.schilling@cuanschutz.edu, so I can send you info outside the forum. Lisa

The content is in OBSERVATION, @schillil. SURVEY contains metadata about conducting a survey.

Did you end up putting the spreadsheet anywhere to take a look?

What are we saying are the “standard” SOGI questions and responses that we are looking to have OMOP concepts for? Can we confirm that these are agreeably standard by sources in addition to the Epic Foundations system?

t