I have a use case whereby we need to store pathology results in the MEASUREMENT table. However we also need to store the collection date & time, and result date & time. The way I see it, we would have to double up the entries in the MEASUREMENT table to indicate the different timestamps. I would really appreciate it if anyone could share their experiences with implementing pathology data.
On what to do with extra dates in MEASUREMENT, here are my thoughts, but I await more experienced opinions.
We actually have many dates in our source database, actual collection time, accession time (when did the lab first hear of it and assign a number, although more complicated than that due to orders), result time, upload time. Plus all the order times, which we keep separate. For every element in the source database we pick what we call a “primary time,” which is the time the doctors most care about, and usually the researchers, too. For labs, it is the collection time if we have it, and if not then the accession time. That database is nested EAV, so we put all the times in.
For OHDSI, we just carry forward the primary time, which is collection or accession, on the argument that researchers won’t care about the other times. The lab might, but they usually go to the source system.
If we had to carry the other times, I would probably stick them in the source_value field, using some local format. I would not create two rows in the measurement table. I could also use fact_relationship, stuffing the result time elsewhere, but that would be ugly.