This is classic data normalization and is exactly how HL7/FHIR work (healthcare interoperability standard). So yes it can work. It has some benefits in certain circumstances.
But (and this is a huge but) in practice it is actually overly complicated and a pain in the ass to work with. I would not recommend the additional overhead unless you have clear use case that demands it.
There are easier ways to accomplish many of the same benefits with resorting to this level of normalization.
I recently worked on a project that specifically had to denormalize HL7/FHIR data to specifically make it easier for a particular class of advanced users to be able to access the data without driving themselves insane.