Significant Digits

it is the way to put it down using historical concepts. Since you don’t know the real date of the diagnosis, and it was 20 years ago, it became a history. So use History of clinical finding in subject and HIV as value. You can also play with these and these types of OMOP Extension concepts, that were introduced to represent range of possible dates for historical events. You will just need some calculations.

Well, this is really a characterisation of test. So you may play with statistical values from snomed, for example, and create a fact relationship between real test and it’s characteristic. Not an easy way, but still a way.

Also, you may change types of range_high and range_low to varchar and store values like ‘100.00’ there. Probably, the worst solution, but still doable: it is up to you to decide. However, I am not sure if analytical package would be affected by this solution.

You may also be interested in wide mapping table. It is in construction currently, but it is expected to have exactly what you are asking for: field named Error.

Hope this will help you with your usecase.