For correctness of the results, we should ensure that all analyzed phenotypic features are descendants of Phenotypic abnormality.
This check is best done at the time when Sample is created. We must ensure that Sample is instantiated from sanitized/valid data.
In the context of the code base, the validation should be done in sumsim.io.read_phenopacket('path/to/phenopacket.json'), right after loading phenopacket. It is a bit ugly for "production", but acceptable for prototyping.