The PersonId column uniquely defines the person. The IsBaseline column defines whether the data has been collected at a baseline visit (it then has a value of true), or a follow up visit (value null/false).
When it is a baseline visit the columns *_BAS_Visus contain data, and when a follow up visit then the columns *_FU_Visus contain data.
I need to produce a view over this table where the columns are just PersonId, IsBaseline, and Visus.
So for every row in the Persons table there will be two rows in my view... one for each eye.
But your example is not just transposing, you want to aggregate individual colums into one single colum.
The question is now if this is a single task to change the table structure or a recuring task, you need a query for.