Or at least how often my peers do that. Obviously all of my systems and code are perfect.
This also amazes me, especially the whining about other people's code from developers. Truely believing that they would do it better. I've even seen inherited code posted to be ridiculed/shamed/bashed in some slacks and subreddits.
If the schema is consistent between rows, and it turns out a test result is made up of several rows because the test is composed of several stages, I would leave it as is until reporting time.
If you pivot prematurely, you could end up dropping data because there are new stages didn't exist when you implemented the pivot.
In that scenario, indeed no action seems to be needed, because each row is one observation: every test stage is an observation. So it would seem to make sense.
One could then argue that each patient deserves their own table (observational unit).
But as other commenters pointed out, this is all speculation.