Hi,
We’re currently OMOPing NHS data. There are instances where an individual patient’s NHS number might change (several times). We have a table of NHS number updates. What is the most OMOP-aligned way of dealing with this? We’d like to be able to retrieve records from the original datasets after looking at an OMOP entry.
Approaches we’re considering:
-
Having it exclusively in the ETL. Passing each dataset through the NHS number updates table and temporarily replacing old NHS numbers with new ones, such that the OMOPed data only refers to the latest iteration of NHS numbers and is unaware of older ones. This seems most likely to be OMOP aligned but it feels like it misses out on potentially important context, and makes ETL a tiny bit clunkier. Additionally, makes it harder to retrieve original records (you would need to remember to check the NHS number updates table every time).
-
Recording NHS number changes in Observations. This doesn’t ‘change’ any of the OMOP structure, but feels like it would be really clunky to use.
-
A separate table with each person_id, NHS number pair. This feels the least OMOP-aligned (adding a new table), but feels the most convenient.
-
Dropping records with old NHS numbers. This feels quite OMOP-aligned, but we’d rather not do this.