Separate validations specific to patient and sample attributes
Separate validations specific to patient and sample attributes

And move them to subclasses that inherit validations common to both.

bihealth/cbioportal,sheridancbio/cbioportal,inodb/cbioportal,yichaoS/cbioportal,d3b-center/pedcbioportal,sheridancbio/cbioportal,d3b-center/pedcbioportal,inodb/cbioportal,kalletlak/cbioportal,onursumer/cbioportal,jjgao/cbioportal,cBioPortal/cbioportal,jjgao/cbioportal,onursumer/cbioportal,cBioPortal/cbioportal,shrumit/cbioportal-gsoc-final,onursumer/cbioportal,pughlab/cbioportal,kalletlak/cbioportal,IntersectAustralia/cbioportal,mandawilson/cbioportal,yichaoS/cbioportal,inodb/cbioportal,zhx828/cbioportal,bihealth/cbioportal,onursumer/cbioportal,bihealth/cbioportal,IntersectAustralia/cbioportal,onursumer/cbioportal,adamabeshouse/cbioportal,pughlab/cbioportal,gsun83/cbioportal,jjgao/cbioportal,inodb/cbioportal,d3b-center/pedcbioportal,sheridancbio/cbioportal,mandawilson/cbioportal,jjgao/cbioportal,kalletlak/cbioportal,adamabeshouse/cbioportal,cBioPortal/cbioportal,zhx828/cbioportal,onursumer/cbioportal,IntersectAustralia/cbioportal,cBioPortal/cbioportal,pughlab/cbioportal,shrumit/cbioportal-gsoc-final,d3b-center/pedcbioportal,angelicaochoa/cbioportal,mandawilson/cbioportal,bihealth/cbioportal,sheridancbio/cbioportal,pughlab/cbioportal,angelicaochoa/cbioportal,n1zea144/cbioportal,gsun83/cbioportal,bihealth/cbioportal,shrumit/cbioportal-gsoc-final,kalletlak/cbioportal,adamabeshouse/cbioportal,n1zea144/cbioportal,IntersectAustralia/cbioportal,angelicaochoa/cbioportal,n1zea144/cbioportal,jjgao/cbioportal,angelicaochoa/cbioportal,n1zea144/cbioportal,IntersectAustralia/cbioportal,angelicaochoa/cbioportal,yichaoS/cbioportal,adamabeshouse/cbioportal,gsun83/cbioportal,yichaoS/cbioportal,adamabeshouse/cbioportal,kalletlak/cbioportal,zhx828/cbioportal,IntersectAustralia/cbioportal,gsun83/cbioportal,shrumit/cbioportal-gsoc-final,mandawilson/cbioportal,bihealth/cbioportal,pughlab/cbioportal,adamabeshouse/cbioportal,shrumit/cbioportal-gsoc-final,adamabeshouse/cbioportal,gsun83/cbioportal,sheridancbio/cbioportal,yichaoS/cbioportal,d3b-center/pedcbioportal,mandawilson/cbioportal,IntersectAustralia/cbioportal,shrumit/cbioportal-gsoc-final,cBioPortal/cbioportal,n1zea144/cbioportal,angelicaochoa/cbioportal,d3b-center/pedcbioportal,angelicaochoa/cbioportal,gsun83/cbioportal,inodb/cbioportal,mandawilson/cbioportal,sheridancbio/cbioportal,pughlab/cbioportal,n1zea144/cbioportal,jjgao/cbioportal,inodb/cbioportal,zhx828/cbioportal,gsun83/cbioportal,pughlab/cbioportal,n1zea144/cbioportal,zhx828/cbioportal,mandawilson/cbioportal,d3b-center/pedcbioportal,kalletlak/cbioportal,inodb/cbioportal,yichaoS/cbioportal,jjgao/cbioportal,kalletlak/cbioportal,shrumit/cbioportal-gsoc-final,cBioPortal/cbioportal,zhx828/cbioportal,yichaoS/cbioportal,zhx828/cbioportal,bihealth/cbioportal