OHDSI Home | Forums | Wiki | Github

Observation_Period table - how do you generate this table at your site?

I have a question regarding observation_period and end dates in condition_occurrence, device_exposure and drug_exposure. When we cut records using observation periods, should we check only start dates? What if end_date is outside of observation_period?


Right now, both dates have to be inside. But this is in heavy debate in the THEMIS group. We will get some answer soon.

I would like to clarify, can we cut end_date using observation_period_end_date?
Or right now we should just drop record if start date is inside but end_date is outside of period?

I know this will call anxiety: but the answer is DROP. We only take data that fits the Standard Model. It’s not an attic for all data that might be good for some questions.

Hope, you, guys can help.
We have an EHR data and we are concerned about the gaps.
Do we have to stop the current observation period and create new one when there’s significant gap (30, 60, maybe more days) between the events?
Note, we don’t have enrollement period specified, so we calculate the observation periods just by the event dates.

The conventions state, “records which uniquely define the spans of time for which a Person is at-risk to have clinical events recorded within the source systems, even if no events in fact are recorded (healthy patient with no healthcare interactions)”.

Colorado uses the first clinical event start_date or start_datetime from one of the following tables: Condition, Measurement, Visit, Drug, Procedure, Observation, or Device table as the OBSERVATION_PERIOD.observation_period_start_date. The OBSERVATION_PERIOD.observation_period_end_date = the last clinical event end_date or end_datetime from one of the following tables: Condition, Measurement, Visit, Drug, Procedure, Observation, Device, or Death table. We believe our patient’s are “at risk” to have an event during this time period. HOWEVER, our EHR data isn’t HMO data, so our patients do visit Providers outside our system.

I’m interested to hear how other EHR data holders & ETL’ers define this. Tagging @DTorok, @karthik, @esholle, @sblyman, @roger.carlson, @samart3, @Sgp6a, @burrowse, @mgurley, @QI_omop

1 Like

The method we use for deriving the observation period with our outpatient-based EHRs is similar to the one @MPhilofsky describes. We also ensure we exclude any patient-reported health events when looking for min/max clinical events to derive the observation period for a person. We have methods to identify patient-reported events and these events can have dates that occur many years ago (even prior to when the EHR system was in existence). In some of our analytic cases we want to include these historical events, therefore we include them in the CDM data but not within the observation period time frame.

Our approach is similar, the earliest and latest (or death) based on each domain.

@MPhilofsky we’ve been very lazy about it - just setting an arbitrary point as the date before which we don’t have reliable EHR data and using getdate() as the end period. For everyone. Obviously this gets in the way of a lot of higher-order analytics that sit on top of the platform, but for direct SQL queries executed on an ad hoc basis it hasn’t really stood in our way.

As we mature in our use of the OHDSI ecosystem I think we’ll likely adopt a similar heuristic to what you’ve described here, which seems sensible and straightforward.