I have some questions regarding how to implement VISIT_CONCEPT_ID in VISIT_OCCURRENCE. We are currently using OMOP CDM v5.3.
The process to populate our OMOP data starts by combining different representations of encounters across disparate EHR systems and then assigns them new patient and encounter numbers. Patient information is extracted into a separate table in the following step. The scope of the encounter number is roughly analogous to one episode of care. At this stage of the process, we have encounter types of Outpatient, Inpatient, Emergency, and Emergency to Inpatient only. These encounter types are derived from our locations, so an encounter inherits the encounter type of a location that it’s associated with.
The problem that I am running into at the OMOP implementation step is that many of my encounters have multiple VISIT_CONCEPT_IDs that are are correct at different times within the context of the encounter. Here are some examples of what I’ve seen:
- Outpatient encounters (based on location) with an attached telephone component.
- Outpatient encounters that our Epic instance flags as ambulatory care visits.
- Inpatient encounters with follow-up telephone calls.
- Inpatient encounters flagged in our Epic instance as being an Office Visit.
- Outpatient encounters flagged in our Epic instance as being an Office Visit.
- Inpatient encounters flagged as both Ambulatory Care and Office Visit.
What I’m running into is that there is no clean way to represent all facets of a VISIT_CONCEPT with just one row. I find that many of these meta groups - Ambulatory Care, Office Visit, Telephone Encounter - cross the divide between Outpatient, Emergency, Inpatient, etc., and that the best way to represent them is to have one row per VISIT_OCCURRENCE_ID/VISIT_CONCEPT_ID, and treat that as the primary key.
Am I mistaken in my approach to either conceptualizing or solving this issue?