All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.gel.models.report.avro.InterpretationRequestRD Maven / Gradle / Ivy

There is a newer version: 3.3.0
Show newest version
/**
 * Autogenerated by Avro
 * 
 * DO NOT EDIT DIRECTLY
 */
package org.gel.models.report.avro;  
@SuppressWarnings("all")
/** This record represents basic information for this report */
@org.apache.avro.specific.AvroGenerated
public class InterpretationRequestRD extends org.apache.avro.specific.SpecificRecordBase implements org.apache.avro.specific.SpecificRecord {
  public static final org.apache.avro.Schema SCHEMA$ = new org.apache.avro.Schema.Parser().parse("{\"type\":\"record\",\"name\":\"InterpretationRequestRD\",\"namespace\":\"org.gel.models.report.avro\",\"doc\":\"This record represents basic information for this report\",\"fields\":[{\"name\":\"versionControl\",\"type\":{\"type\":\"record\",\"name\":\"ReportVersionControl\",\"fields\":[{\"name\":\"gitVersionControl\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"This is the version for the entire set of data models as referred to the Git release tag\",\"default\":\"6.1.1\"}]},\"doc\":\"Model version number\"},{\"name\":\"interpretationRequestId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Identifier for this interpretation request\"},{\"name\":\"interpretationRequestVersion\",\"type\":\"int\",\"doc\":\"Version for this interpretation request\"},{\"name\":\"internalStudyId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Internal study identifier\"},{\"name\":\"familyInternalId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Family internal identifier\"},{\"name\":\"genomeAssembly\",\"type\":{\"type\":\"enum\",\"name\":\"Assembly\",\"doc\":\"The reference genome assembly\",\"symbols\":[\"GRCh38\",\"GRCh37\"]},\"doc\":\"This is the version of the assembly used to align the reads\"},{\"name\":\"workspace\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}},\"doc\":\"The genome shall be assigned to the workspaces(projects or domains with a predefined set of users) to control user access\"},{\"name\":\"bams\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"File\",\"doc\":\"This defines a file\\n    This record is uniquely defined by the sample identfier and an URI\\n    Currently sample identifier can be a single string or a list of strings if multiple samples are associated with the same file\\n    *\",\"fields\":[{\"name\":\"sampleId\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"Unique identifier(s) of the sample. For example in a multisample vcf this would have an array of all the sample identifiers\"},{\"name\":\"uriFile\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"URI path of the file\"},{\"name\":\"fileType\",\"type\":{\"type\":\"enum\",\"name\":\"FileType\",\"symbols\":[\"BAM\",\"gVCF\",\"VCF_small\",\"VCF_somatic_small\",\"VCF_CNV\",\"VCF_somatic_CNV\",\"VCF_SV\",\"VCF_somatic_SV\",\"VCF_SV_CNV\",\"SVG\",\"ANN\",\"BigWig\",\"MD5Sum\",\"ROH\",\"OTHER\",\"PARTITION\",\"VARIANT_FREQUENCIES\",\"COVERAGE\"]},\"doc\":\"The type of the file\"},{\"name\":\"md5Sum\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The MD5 checksum\"}]}}],\"doc\":\"BAMs Files\"},{\"name\":\"vcfs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"File\"}],\"doc\":\"VCFs Files where SVs and CNVs are represented\"},{\"name\":\"bigWigs\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"File\"}],\"doc\":\"BigWig Files\"},{\"name\":\"pedigreeDiagram\",\"type\":[\"null\",\"File\"],\"doc\":\"Pedigree Diagram Files as an SGV\"},{\"name\":\"annotationFile\",\"type\":[\"null\",\"File\"],\"doc\":\"Variant Annotation File\"},{\"name\":\"otherFiles\",\"type\":[\"null\",{\"type\":\"map\",\"values\":\"File\",\"avro.java.string\":\"String\"}],\"doc\":\"Other files that may be vendor specific\\n        map of key: type of file, value: record of type File\"},{\"name\":\"pedigree\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"Pedigree\",\"namespace\":\"org.gel.models.participant.avro\",\"doc\":\"This is the concept of a family with associated phenotypes as present in the record RDParticipant\",\"fields\":[{\"name\":\"versionControl\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"VersionControl\",\"fields\":[{\"name\":\"GitVersionControl\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"This is the version for the entire set of data models as referred to the Git release tag\",\"default\":\"1.3.0\"}]}],\"doc\":\"Model version number\"},{\"name\":\"LDPCode\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"LDP Code (Local Delivery Partner)\"},{\"name\":\"familyId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Family identifier which internally translate to a sample set\"},{\"name\":\"members\",\"type\":{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"PedigreeMember\",\"doc\":\"This defines a RD Participant (demographics and pedigree information)\",\"fields\":[{\"name\":\"pedigreeId\",\"type\":[\"null\",\"int\"],\"doc\":\"Numbering used to refer to each member of the pedigree\"},{\"name\":\"isProband\",\"type\":[\"null\",\"boolean\"],\"doc\":\"If this field is true, the member should be considered the proband of this family\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"participantId.  This is the human readable ID in GMS\"},{\"name\":\"participantQCState\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ParticipantQCState\",\"doc\":\"QCState Status\",\"symbols\":[\"noState\",\"passedMedicalReviewReadyForInterpretation\",\"passedMedicalReviewNotReadyForInterpretation\",\"queryToGel\",\"queryToGMC\",\"failed\"]}],\"doc\":\"participantQCState\"},{\"name\":\"gelSuperFamilyId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"superFamily id, this id is built as a concatenation of all\\n        families id in this superfamily i.e, fam10024_fam100457.\\n        NOTE: Retired for GMS\"},{\"name\":\"sex\",\"type\":{\"type\":\"enum\",\"name\":\"Sex\",\"doc\":\"Sex\",\"symbols\":[\"MALE\",\"FEMALE\",\"UNKNOWN\"]},\"doc\":\"Sex of the Participant\"},{\"name\":\"personKaryotypicSex\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"PersonKaryotipicSex\",\"doc\":\"Karyotipic Sex\",\"symbols\":[\"UNKNOWN\",\"XX\",\"XY\",\"XO\",\"XXY\",\"XXX\",\"XXYY\",\"XXXY\",\"XXXX\",\"XYY\",\"OTHER\"]}],\"doc\":\"Karyotypic sex of the participant as previously established or by looking at the GEL genome\"},{\"name\":\"yearOfBirth\",\"type\":[\"null\",\"int\"],\"doc\":\"Year of Birth\"},{\"name\":\"fatherId\",\"type\":[\"null\",\"int\"],\"doc\":\"refers to the pedigreeId of the father\\n        Id of the parent, if unknown then no parent is referenced. Parents may need to be entered even if no data is known\\n        about them in order to unambiguously reconstruct the pedigree.\"},{\"name\":\"motherId\",\"type\":[\"null\",\"int\"],\"doc\":\"refers to the pedigreeId of the mother\\n        Id of the parent, if unknown then no parent is referenced. Parents may need to be entered even if no data is known\\n        about them in order to unambiguously reconstruct the pedigree.\"},{\"name\":\"superFatherId\",\"type\":[\"null\",\"int\"],\"doc\":\"this id is built using the original familyId and the original pedigreeId of the father\\n        NOTE: retired for GMS\"},{\"name\":\"superMotherId\",\"type\":[\"null\",\"int\"],\"doc\":\"this id is built using the original familyId and the original pedigreeId of the mother\\n        NOTE: Retired for GMS\"},{\"name\":\"twinGroup\",\"type\":[\"null\",\"int\"],\"doc\":\"Each twin group is numbered, i.e. all members of a group of multiparous births receive the same number\"},{\"name\":\"monozygotic\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TernaryOption\",\"doc\":\"This defines a yes/no/unknown case\",\"symbols\":[\"yes\",\"no\",\"unknown\"]}],\"doc\":\"A property of the twinning group but should be entered for all members\"},{\"name\":\"adoptedStatus\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"AdoptedStatus\",\"doc\":\"adoptedin means adopted into the family\\n    adoptedout means child belonged to the family and was adopted out\",\"symbols\":[\"notadopted\",\"adoptedin\",\"adoptedout\"]}],\"doc\":\"Adopted Status\"},{\"name\":\"lifeStatus\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"LifeStatus\",\"doc\":\"Life Status\",\"symbols\":[\"ALIVE\",\"ABORTED\",\"DECEASED\",\"UNBORN\",\"STILLBORN\",\"MISCARRIAGE\"]}],\"doc\":\"Life Status\"},{\"name\":\"consanguineousParents\",\"type\":[\"null\",\"TernaryOption\"],\"doc\":\"The parents of this participant has a consanguineous relationship\"},{\"name\":\"affectionStatus\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"AffectionStatus\",\"doc\":\"Affection Status\",\"symbols\":[\"UNAFFECTED\",\"AFFECTED\",\"UNCERTAIN\"]}],\"doc\":\"Affection Status\"},{\"name\":\"disorderList\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Disorder\",\"doc\":\"This is quite GEL specific. This is the way is stored in ModelCatalogue and PanelApp.\\n    Currently all specific disease titles are assigned to a disease subgroup so really only specificDisease needs to be\\n    completed but we add the others for generality\",\"fields\":[{\"name\":\"diseaseGroup\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"This is Level2 Title for this disorder\"},{\"name\":\"diseaseSubGroup\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]",",\"doc\":\"This is Level3 Title for this disorder\"},{\"name\":\"specificDisease\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"This is Level4 Title for this disorder.\\n        In GMS, this is the clinicalIndicationFullName/clinicalIndicationCode.\"},{\"name\":\"ageOfOnset\",\"type\":[\"null\",\"float\"],\"doc\":\"Age of onset in years\"}]}}],\"doc\":\"Clinical Data (disorders). If the family member is unaffected as per affectionStatus then this list is empty.\"},{\"name\":\"hpoTermList\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"HpoTerm\",\"doc\":\"This defines an HPO term and its modifiers (possibly multiple)\\n    If HPO term presence is unknown we don't have a entry on the list\",\"fields\":[{\"name\":\"term\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Identifier of the HPO term\"},{\"name\":\"termPresence\",\"type\":[\"null\",\"TernaryOption\"],\"doc\":\"This is whether the term is present in the participant (default is unknown) yes=term is present in participant,\\n        no=term is not present\"},{\"name\":\"hpoBuildNumber\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"hpoBuildNumber\"},{\"name\":\"modifiers\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"HpoTermModifiers\",\"doc\":\"HPO Modifiers\\n    For GMS, hpoModifierCode and hpoModifierVersion will be used\",\"fields\":[{\"name\":\"laterality\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Laterality\",\"symbols\":[\"RIGHT\",\"UNILATERAL\",\"BILATERAL\",\"LEFT\"]}]},{\"name\":\"progression\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Progression\",\"symbols\":[\"PROGRESSIVE\",\"NONPROGRESSIVE\"]}]},{\"name\":\"severity\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Severity\",\"symbols\":[\"BORDERLINE\",\"MILD\",\"MODERATE\",\"SEVERE\",\"PROFOUND\"]}]},{\"name\":\"spatialPattern\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"SpatialPattern\",\"symbols\":[\"DISTAL\",\"GENERALIZED\",\"LOCALIZED\",\"PROXIMAL\"]}]},{\"name\":\"hpoModifierCode\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"hpoModifierVersion\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]}]}}],\"doc\":\"Modifier associated with the HPO term\"},{\"name\":\"ageOfOnset\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"AgeOfOnset\",\"symbols\":[\"EMBRYONAL_ONSET\",\"FETAL_ONSET\",\"NEONATAL_ONSET\",\"INFANTILE_ONSET\",\"CHILDHOOD_ONSET\",\"JUVENILE_ONSET\",\"YOUNG_ADULT_ONSET\",\"LATE_ONSET\",\"MIDDLE_AGE_ONSET\"]}],\"doc\":\"Age of onset in months\"}]}}],\"doc\":\"Clinical Data (HPO terms)\"},{\"name\":\"ancestries\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"Ancestries\",\"doc\":\"Ancestries, defined as Ethnic category(ies) and Chi-square test\",\"fields\":[{\"name\":\"mothersEthnicOrigin\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"EthnicCategory\",\"doc\":\"This is the list of ethnicities in ONS16\\n\\n    * `D`:  Mixed: White and Black Caribbean\\n    * `E`:  Mixed: White and Black African\\n    * `F`:  Mixed: White and Asian\\n    * `G`:  Mixed: Any other mixed background\\n    * `A`:  White: British\\n    * `B`:  White: Irish\\n    * `C`:  White: Any other White background\\n    * `L`:  Asian or Asian British: Any other Asian background\\n    * `M`:  Black or Black British: Caribbean\\n    * `N`:  Black or Black British: African\\n    * `H`:  Asian or Asian British: Indian\\n    * `J`:  Asian or Asian British: Pakistani\\n    * `K`:  Asian or Asian British: Bangladeshi\\n    * `P`:  Black or Black British: Any other Black background\\n    * `S`:  Other Ethnic Groups: Any other ethnic group\\n    * `R`:  Other Ethnic Groups: Chinese\\n    * `Z`:  Not stated\",\"symbols\":[\"D\",\"E\",\"F\",\"G\",\"A\",\"B\",\"C\",\"L\",\"M\",\"N\",\"H\",\"J\",\"K\",\"P\",\"S\",\"R\",\"Z\"]}],\"doc\":\"Mother's Ethnic Origin\"},{\"name\":\"mothersOtherRelevantAncestry\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Mother's Ethnic Origin Description\"},{\"name\":\"fathersEthnicOrigin\",\"type\":[\"null\",\"EthnicCategory\"],\"doc\":\"Father's Ethnic Origin\"},{\"name\":\"fathersOtherRelevantAncestry\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Father's Ethnic Origin Description\"},{\"name\":\"chiSquare1KGenomesPhase3Pop\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ChiSquare1KGenomesPhase3Pop\",\"doc\":\"Chi-square test for goodness of fit of this sample to 1000 Genomes Phase 3 populations\",\"fields\":[{\"name\":\"kgSuperPopCategory\",\"type\":{\"type\":\"enum\",\"name\":\"KgSuperPopCategory\",\"doc\":\"1K Genomes project super populations\",\"symbols\":[\"AFR\",\"AMR\",\"EAS\",\"EUR\",\"SAS\"]},\"doc\":\"1K Super Population\"},{\"name\":\"kgPopCategory\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"KgPopCategory\",\"doc\":\"1K Genomes project populations\",\"symbols\":[\"ACB\",\"ASW\",\"BEB\",\"CDX\",\"CEU\",\"CHB\",\"CHS\",\"CLM\",\"ESN\",\"FIN\",\"GBR\",\"GIH\",\"GWD\",\"IBS\",\"ITU\",\"JPT\",\"KHV\",\"LWK\",\"MSL\",\"MXL\",\"PEL\",\"PJL\",\"PUR\",\"STU\",\"TSI\",\"YRI\"]}],\"doc\":\"1K Population\"},{\"name\":\"chiSquare\",\"type\":\"double\",\"doc\":\"Chi-square test for goodness of fit of this sample to this 1000 Genomes Phase 3 population\"}]}}],\"doc\":\"Chi-square test for goodness of fit of this sample to 1000 Genomes Phase 3 populations\"}]}],\"doc\":\"Participant's ancestries, defined as Mother's/Father's Ethnic Origin and Chi-square test for goodness of fit of this sample to 1000 Genomes Phase 3 populations.\\n        NOTE: for GMS this field has been deprecated in favour of clinicalEthnicities\"},{\"name\":\"consentStatus\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"ConsentStatus\",\"doc\":\"Consent Status for 100k program\",\"fields\":[{\"name\":\"programmeConsent\",\"type\":\"boolean\",\"doc\":\"Is this individual consented to the programme?\\n        It could simply be a family member that is not consented but for whom affection status is known\",\"default\":false},{\"name\":\"primaryFindingConsent\",\"type\":\"boolean\",\"doc\":\"Consent for feedback of primary findings?\",\"default\":false},{\"name\":\"secondaryFindingConsent\",\"type\":\"boolean\",\"doc\":\"Consent for secondary finding lookup\",\"default\":false},{\"name\":\"carrierStatusConsent\",\"type\":\"boolean\",\"doc\":\"Consent for carrier status check?\",\"default\":false}]}],\"doc\":\"What has this participant consented to?\\n        A participant that has been consented to the programme should also have sequence data associated with them; however\\n        this needs to be programmatically checked\"},{\"name\":\"testConsentStatus\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"GmsConsentStatus\",\"doc\":\"Consent Status for GMS\",\"fields\":[{\"name\":\"programmeConsent\",\"type\":{\"type\":\"enum\",\"name\":\"GenericConsent\",\"doc\":\"clinicalEthnicities supersedes Ancestries in GMS\",\"symbols\":[\"yes\",\"no\",\"undefined\",\"not_applicable\"]},\"doc\":\"Is this individual consented to the programme? It could simply be a family member that is not consented\\n        but for whom affection status is known\"},{\"name\":\"primaryFindingConsent\",\"type\":\"GenericConsent\",\"doc\":\"Consent for feedback of primary findings?\\n        RD: Primary Findings\\n        Cancer: PrimaryFindings is somatic + pertinent germline findings\"},{\"name\":\"researchConsent\",\"type\":\"GenericConsent\",\"doc\":\"Research Consent\"},{\"name\":\"healthRelatedFindingConsent\",\"type\":\"GenericConsent\",\"doc\":\"Consent for secondary health related findings?\"},{\"name\":\"carrierStatusConsent\",\"type\":\"GenericConsent\",\"doc\":\"Consent for carrier status check?\"},{\"name\":\"pharmacogenomicsFindingConsent\",\"type\":\"GenericConsent\",\"doc\":\"Consent for pharmacogenomics consent as secondary findings?\"}]}],\"doc\":\"What has this participant consented in the context of a Genomic Test?\"},{\"name\":\"samples\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"GermlineSample\",\"doc\":\"A germline sample\",\"fields\":[{\"name\":\"sampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Sample identifier (e.g, LP00012645_5GH))\"},{\"name\":\"labSampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Lab sample identifier\"},{\"name\":\"LDPCode\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"LDP Code (Local Delivery Partner)\"},{\"name\":\"source\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"SampleSource\",\"doc\":\"The source of the sample\\n    NOTE: IN GMS, BONE_MARROW_ASPIRATE_TUMOUR_CELLS and BONE_MARROW_ASPIRATE_TUMOUR_SORTED_CELLS are deprecated as they have been separated into their respective biotypes\",\"symbols\":[\"AMNIOTIC_FLUID\",\"BLOOD\",\"BONE_MARROW\",\"BONE_MARROW_ASPIRATE_TUMOUR_CELLS\",\"BONE_MARROW_ASPIRATE_TUMOUR_SORTED_CELLS\",\"BUCCAL_SWAB\",\"CHORION","IC_VILLUS_SAMPLE\",\"FIBROBLAST\",\"FLUID\",\"FRESH_TISSUE_IN_CULTURE_MEDIUM\",\"OTHER\",\"SALIVA\",\"TISSUE\",\"TUMOUR\",\"URINE\"]}],\"doc\":\"Source of the sample\"},{\"name\":\"product\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Product\",\"symbols\":[\"DNA\",\"RNA\"]}],\"doc\":\"Product of the sample\"},{\"name\":\"preparationMethod\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"PreparationMethod\",\"doc\":\"In 100K, preparation Method of sample\\n    NOTE: In GMS, this field is deprecated in favour of StorageMedium and Method\",\"symbols\":[\"ASPIRATE\",\"CD128_SORTED_CELLS\",\"CD138_SORTED_CELLS\",\"EDTA\",\"FF\",\"FFPE\",\"LI_HEP\",\"ORAGENE\"]}],\"doc\":\"Preparation method\\n        NOTE: In GMS, this has been deprecated in favour of Method and storageMedium\"},{\"name\":\"programmePhase\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"ProgrammePhase\",\"symbols\":[\"CRUK\",\"OXFORD\",\"CLL\",\"IIP\",\"MAIN\",\"EXPT\"]}],\"doc\":\"Genomics England programme phase\"},{\"name\":\"clinicalSampleDateTime\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The time when the sample was received. In the format YYYY-MM-DDTHH:MM:SS+0000\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"participantUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant UId of the sample\"},{\"name\":\"sampleUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"maskedPid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"method\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Method\",\"doc\":\"In GMS, Method is defined as how the sample was taken directly from the patient\",\"symbols\":[\"ASPIRATE\",\"BIOPSY\",\"NOT_APPLICABLE\",\"RESECTION\",\"SORTED_OTHER\",\"UNKNOWN\",\"UNSORTED\",\"CD138_SORTED\"]}],\"doc\":\"In GMS, this is how the sample was extracted from the participant\"},{\"name\":\"storageMedium\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"StorageMedium\",\"doc\":\"In GMS, storage medium of sample\",\"symbols\":[\"EDTA\",\"FF\",\"LI_HEP\",\"ORAGENE\",\"FFPE\"]}],\"doc\":\"In GMS, this is what solvent/medium the sample was stored in\"},{\"name\":\"sampleType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the sampleType as entered by the clinician in TOMs\"},{\"name\":\"sampleState\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the sampleState as entered by the clinician in TOMs\"}]}}],\"doc\":\"This is an array containing all the samples that belong to this individual, e.g [\\\"LP00002255_GA4\\\"]\"},{\"name\":\"inbreedingCoefficient\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"InbreedingCoefficient\",\"doc\":\"Inbreeding coefficient\",\"fields\":[{\"name\":\"sampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"This is the sample id against which the coefficient was estimated\"},{\"name\":\"program\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Name of program used to calculate the coefficient\"},{\"name\":\"version\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Version of the programme\"},{\"name\":\"estimationMethod\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Where various methods for estimation exist, which method was used.\"},{\"name\":\"coefficient\",\"type\":\"double\",\"doc\":\"Inbreeding coefficient ideally a real number in [0,1]\"},{\"name\":\"standardError\",\"type\":[\"null\",\"double\"],\"doc\":\"Standard error of the Inbreeding coefficient\"}]}],\"doc\":\"Inbreeding Coefficient Estimation\"},{\"name\":\"additionalInformation\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}],\"doc\":\"We could add a map here to store additional information for example URIs to images, ECGs, etc\\n        Null by default\"},{\"name\":\"lastMenstrualPeriod\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Last Menstrual Period\"},{\"name\":\"diagnosticDetails\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"DiagnosticDetail\",\"fields\":[{\"name\":\"diagnosisCodingSystem\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Diagnosis coding system\"},{\"name\":\"diagnosisCodingSystemVersion\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Diagnosis Coding System Version\"},{\"name\":\"diagnosisCode\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Diagnosis Code\"},{\"name\":\"diagnosisDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Diagnosis description\"},{\"name\":\"diagnosisCertainty\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Diagnosis Certainty\"},{\"name\":\"ageAtOnsetInYears\",\"type\":[\"null\",\"float\"],\"doc\":\"Age at diagnosis\"}]}}],\"doc\":\"Additional set of diagnostic ontology terms\"},{\"name\":\"participantUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"ParticipantGUID in GMS\"},{\"name\":\"clinicalEthnicities\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"enum\",\"name\":\"ClinicalEthnicity\",\"doc\":\"* A     British, Mixed British\\n    * B     Irish\\n    * C     Any other White background\\n    * C2    Northern Irish\\n    * C3    Other white, white unspecified\\n    * CA    English\\n    * CB    Scottish\\n    * CC    Welsh\\n    * CD    Cornish\\n    * CE    Cypriot (part not stated)\\n    * CF    Greek\\n    * CG    Greek Cypriot\\n    * CH    Turkish\\n    * CJ    Turkish Cypriot\\n    * CK    Italian\\n    * CL    Irish Traveller\\n    * CM    Traveller\\n    * CN    Gypsy/Romany\\n    * CP    Polish\\n    * CQ    All republics which made up the former USSR\\n    * CR    Kosovan\\n    * CS    Albanian\\n    * CT    Bosnian\\n    * CU    Croatian\\n    * CV    Serbian\\n    * CW    Other republics which made up the former Yugoslavia\\n    * CX    Mixed white\\n    * CY    Other white European, European unspecified, European mixed\\n    * D     White and Black Caribbean\\n    * E     White and Black African\\n    * F     White and Asian\\n    * G     Any other mixed background\\n    * GA    Black and Asian\\n    * GB    Black and Chinese\\n    * GC    Black and White\\n    * GD    Chinese and White\\n    * GE    Asian and Chinese\\n    * GF    Other Mixed, Mixed Unspecified\\n    * H     Indian or British Indian\\n    * J     Pakistani or British Pakistani\\n    * K     Bangladeshi or British Bangladeshi\\n    * L     Any other Asian background\\n    * LA    Mixed Asian\\n    * LB    Punjabi\\n    * LC    Kashmiri\\n    * LD    East African Asian\\n    * LE    Sri Lanka\\n    * LF    Tamil\\n    * LG    Sinhalese\\n    * LH    British Asian\\n    * LJ    Caribbean Asian\\n    * LK    Other Asian, Asian unspecified\\n    * M     Caribbean\\n    * N     African\\n    * P     Any other Black background\\n    * PA    Somali\\n    * PB    Mixed Black\\n    * PC    Nigerian\\n    * PD    Black British\\n    * PE    Other Black, Black unspecified\\n    * R     Chinese\\n    * S     Any other ethnic group\\n    * S1    Ashkenazi\\n    * S2    Sephardi\\n    * SA    Vietnamese\\n    * SB    Japanese\\n    * SC    Filipino\\n    * SD    Malaysian\\n    * SE    Any Other Group\\n    * Z     Not stated\",\"symbols\":[\"A\",\"B\",\"C\",\"C2\",\"C3\",\"CA\",\"CB\",\"CC\",\"CD\",\"CE\",\"CF\",\"CG\",\"CH\",\"CJ\",\"CK\",\"CL\",\"CM\",\"CN\",\"CP\",\"CQ\",\"CR\",\"CS\",\"CT\",\"CU\",\"CV\",\"CW\",\"CX\",\"CY\",\"D\",\"E\",\"F\",\"G\",\"GA\",\"GB\",\"GC\",\"GD\",\"GE\",\"GF\",\"H\",\"J\",\"K\",\"L\",\"LA\",\"LB\",\"LC\",\"LD\",\"LE\",\"LF\",\"LG\",\"LH\",\"LJ\",\"LK\",\"M\",\"N\",\"P\",\"PA\",\"PB\",\"PC\",\"PD\",\"PE\",\"R\",\"S\",\"S1\",\"S2\",\"SA\",\"SB\",\"SC\",\"SD\",\"SE\",\"Z\"]}}],\"doc\":\"ClinicalEthnicity as defined for GMS\"},{\"name\":\"previousTreatment\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"PreviousTreatment\",\"doc\":\"In GMS, Previous Treatment of Patient\",\"fields\":[{\"name\":\"previousTreatmentType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"previousTreatmentName\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]},{\"name\":\"previousTreatmentDate\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"Date\",\"doc\":\"This defines a date record\",\"fields\":[{\"name\":\"year\",\"type\":\"int\",\"doc\":\"Format YYYY\"},{\"name\":\"month\",\"type\":[\"null\",\"int\"],\"doc\":\"Format MM. e.g June is 06\"},{\"name\":\"day\",\"type\":[\"null\",\"int\"],\"doc\":\"Format DD e.g. 12th of October is 12\"}]}]}]}}],\"doc\":\"For GMS cases, previous Treatment History\"}]}},\"doc\":\"List of members of a pedigree\"},{\"name\":\"analysisPanels\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":","\"record\",\"name\":\"AnalysisPanel\",\"doc\":\"An analysis panel\",\"fields\":[{\"name\":\"specificDisease\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"The specific disease that a panel tests\"},{\"name\":\"panelName\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"The name of the panel\"},{\"name\":\"panelId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Id of the panel\"},{\"name\":\"panelVersion\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The version of the panel\"},{\"name\":\"reviewOutcome\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Deprecated\"},{\"name\":\"multipleGeneticOrigins\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Deprecated\"}]}}],\"doc\":\"List of panels\"},{\"name\":\"diseasePenetrances\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"DiseasePenetrance\",\"doc\":\"A disease penetrance definition\",\"fields\":[{\"name\":\"specificDisease\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"The disease to which the penetrance applies\"},{\"name\":\"penetrance\",\"type\":{\"type\":\"enum\",\"name\":\"Penetrance\",\"doc\":\"Penetrance assumed in the analysis\",\"symbols\":[\"complete\",\"incomplete\"]},\"doc\":\"The penetrance\"}]}}],\"doc\":\"List of disease penetrances. Moved to referralTest for GMS\"},{\"name\":\"readyForAnalysis\",\"type\":\"boolean\",\"doc\":\"Flag indicating if a pedigree is ready for analysis\"},{\"name\":\"familyQCState\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"FamilyQCState\",\"doc\":\"FamilyQCState\",\"symbols\":[\"noState\",\"passedMedicalReviewReadyForInterpretation\",\"passedMedicalReviewNotReadyForInterpretation\",\"queryToGel\",\"queryToGMC\",\"failed\"]}],\"doc\":\"The family quality control status\"}]}],\"doc\":\"Pedigree of the family.\"},{\"name\":\"otherFamilyHistory\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"OtherFamilyHistory\",\"doc\":\"Family history for secondary findings.\\n    Arrays of strings describing discrete family history phenotypes.\\n    Usually: `EndocrineTumours`, `colorectal`, `BreastOvarian` and `HDOrStroke` but can be others\",\"fields\":[{\"name\":\"maternalFamilyHistory\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"Relevant Maternal family history\"},{\"name\":\"paternalFamilyHistory\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"Relevant Maternal family history\"}]}],\"doc\":\"It is paternal or maternal with reference to the participant.\"},{\"name\":\"genePanelsCoverage\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":{\"type\":\"map\",\"values\":\"float\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}],\"doc\":\"This map of key: panel_name, value: (map of key: gene, value: (map of metrics of key: metric name, value: float))\\n        That is: a map of tables of genes and metrics\"},{\"name\":\"interpretationFlags\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"InterpretationFlag\",\"doc\":\"A given interpretation flag together with an optional description\",\"fields\":[{\"name\":\"interpretationFlag\",\"type\":{\"type\":\"enum\",\"name\":\"InterpretationFlags\",\"doc\":\"Some flags relevant to the interpretation of a case\",\"symbols\":[\"mixed_chemistries\",\"mixedLab_preparation\",\"low_tumour_purity\",\"uniparental_isodisomy\",\"uniparental_heterodisomy\",\"unusual_karyotype\",\"high_cnv_count\",\"high_estimate_human_contamination_fraction\",\"mixed_recruiting_gmc\",\"suspected_mosaicism\",\"low_quality_sample\",\"ffpe_tumour_sample\",\"ff_nano_tumour_sample\",\"missing_values_for_proband_in_reported_variant\",\"reissued\",\"supplementary_report_errors\",\"internal_use_only\",\"high_priority\",\"suspected_increased_number_of_false_positive_heterozygous_loss_calls\",\"suspected_poor_quality_cnv_calls\",\"cnv_calls_assumed_xx_karyo\",\"cnv_calls_assumed_xy_karyo\",\"other\"]},\"doc\":\"The interpretation flag\"},{\"name\":\"additionalDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The description for the flag\"}]}}],\"doc\":\"Flags for this case relevant for interpretation\"},{\"name\":\"participantsInterpretationFlags\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"ParticipantInterpretationFlags\",\"doc\":\"Interpretation flags at the participant level\",\"fields\":[{\"name\":\"interpretationFlag\",\"type\":\"InterpretationFlags\",\"doc\":\"The interpretation flag\"},{\"name\":\"additionalDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The description for the flag\"},{\"name\":\"SampleId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Sample Id fron which this flag was reported\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant Id as appeared in the pedigree\"}]}}],\"doc\":\"Flags for this case relevant for interpretation per participant\"},{\"name\":\"additionalInfo\",\"type\":[\"null\",{\"type\":\"map\",\"values\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"avro.java.string\":\"String\"}],\"doc\":\"Additional information\"}]}");
  public static org.apache.avro.Schema getClassSchema() { return SCHEMA$; }
  /** Model version number */
   private org.gel.models.report.avro.ReportVersionControl versionControl;
  /** Identifier for this interpretation request */
   private java.lang.String interpretationRequestId;
  /** Version for this interpretation request */
   private int interpretationRequestVersion;
  /** Internal study identifier */
   private java.lang.String internalStudyId;
  /** Family internal identifier */
   private java.lang.String familyInternalId;
  /** This is the version of the assembly used to align the reads */
   private org.gel.models.report.avro.Assembly genomeAssembly;
  /** The genome shall be assigned to the workspaces(projects or domains with a predefined set of users) to control user access */
   private java.util.List workspace;
  /** BAMs Files */
   private java.util.List bams;
  /** VCFs Files where SVs and CNVs are represented */
   private java.util.List vcfs;
  /** BigWig Files */
   private java.util.List bigWigs;
  /** Pedigree Diagram Files as an SGV */
   private org.gel.models.report.avro.File pedigreeDiagram;
  /** Variant Annotation File */
   private org.gel.models.report.avro.File annotationFile;
  /** Other files that may be vendor specific
        map of key: type of file, value: record of type File */
   private java.util.Map otherFiles;
  /** Pedigree of the family. */
   private org.gel.models.participant.avro.Pedigree pedigree;
  /** It is paternal or maternal with reference to the participant. */
   private org.gel.models.report.avro.OtherFamilyHistory otherFamilyHistory;
  /** This map of key: panel_name, value: (map of key: gene, value: (map of metrics of key: metric name, value: float))
        That is: a map of tables of genes and metrics */
   private java.util.Map>> genePanelsCoverage;
  /** Flags for this case relevant for interpretation */
   private java.util.List interpretationFlags;
  /** Flags for this case relevant for interpretation per participant */
   private java.util.List participantsInterpretationFlags;
  /** Additional information */
   private java.util.Map additionalInfo;

  /**
   * Default constructor.  Note that this does not initialize fields
   * to their default values from the schema.  If that is desired then
   * one should use newBuilder(). 
   */
  public InterpretationRequestRD() {}

  /**
   * All-args constructor.
   */
  public InterpretationRequestRD(org.gel.models.report.avro.ReportVersionControl versionControl, java.lang.String interpretationRequestId, java.lang.Integer interpretationRequestVersion, java.lang.String internalStudyId, java.lang.String familyInternalId, org.gel.models.report.avro.Assembly genomeAssembly, java.util.List workspace, java.util.List bams, java.util.List vcfs, java.util.List bigWigs, org.gel.models.report.avro.File pedigreeDiagram, org.gel.models.report.avro.File annotationFile, java.util.Map otherFiles, org.gel.models.participant.avro.Pedigree pedigree, org.gel.models.report.avro.OtherFamilyHistory otherFamilyHistory, java.util.Map>> genePanelsCoverage, java.util.List interpretationFlags, java.util.List participantsInterpretationFlags, java.util.Map additionalInfo) {
    this.versionControl = versionControl;
    this.interpretationRequestId = interpretationRequestId;
    this.interpretationRequestVersion = interpretationRequestVersion;
    this.internalStudyId = internalStudyId;
    this.familyInternalId = familyInternalId;
    this.genomeAssembly = genomeAssembly;
    this.workspace = workspace;
    this.bams = bams;
    this.vcfs = vcfs;
    this.bigWigs = bigWigs;
    this.pedigreeDiagram = pedigreeDiagram;
    this.annotationFile = annotationFile;
    this.otherFiles = otherFiles;
    this.pedigree = pedigree;
    this.otherFamilyHistory = otherFamilyHistory;
    this.genePanelsCoverage = genePanelsCoverage;
    this.interpretationFlags = interpretationFlags;
    this.participantsInterpretationFlags = participantsInterpretationFlags;
    this.additionalInfo = additionalInfo;
  }

  public org.apache.avro.Schema getSchema() { return SCHEMA$; }
  // Used by DatumWriter.  Applications should not call. 
  public java.lang.Object get(int field$) {
    switch (field$) {
    case 0: return versionControl;
    case 1: return interpretationRequestId;
    case 2: return interpretationRequestVersion;
    case 3: return internalStudyId;
    case 4: return familyInternalId;
    case 5: return genomeAssembly;
    case 6: return workspace;
    case 7: return bams;
    case 8: return vcfs;
    case 9: return bigWigs;
    case 10: return pedigreeDiagram;
    case 11: return annotationFile;
    case 12: return otherFiles;
    case 13: return pedigree;
    case 14: return otherFamilyHistory;
    case 15: return genePanelsCoverage;
    case 16: return interpretationFlags;
    case 17: return participantsInterpretationFlags;
    case 18: return additionalInfo;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }
  // Used by DatumReader.  Applications should not call. 
  @SuppressWarnings(value="unchecked")
  public void put(int field$, java.lang.Object value$) {
    switch (field$) {
    case 0: versionControl = (org.gel.models.report.avro.ReportVersionControl)value$; break;
    case 1: interpretationRequestId = (java.lang.String)value$; break;
    case 2: interpretationRequestVersion = (java.lang.Integer)value$; break;
    case 3: internalStudyId = (java.lang.String)value$; break;
    case 4: familyInternalId = (java.lang.String)value$; break;
    case 5: genomeAssembly = (org.gel.models.report.avro.Assembly)value$; break;
    case 6: workspace = (java.util.List)value$; break;
    case 7: bams = (java.util.List)value$; break;
    case 8: vcfs = (java.util.List)value$; break;
    case 9: bigWigs = (java.util.List)value$; break;
    case 10: pedigreeDiagram = (org.gel.models.report.avro.File)value$; break;
    case 11: annotationFile = (org.gel.models.report.avro.File)value$; break;
    case 12: otherFiles = (java.util.Map)value$; break;
    case 13: pedigree = (org.gel.models.participant.avro.Pedigree)value$; break;
    case 14: otherFamilyHistory = (org.gel.models.report.avro.OtherFamilyHistory)value$; break;
    case 15: genePanelsCoverage = (java.util.Map>>)value$; break;
    case 16: interpretationFlags = (java.util.List)value$; break;
    case 17: participantsInterpretationFlags = (java.util.List)value$; break;
    case 18: additionalInfo = (java.util.Map)value$; break;
    default: throw new org.apache.avro.AvroRuntimeException("Bad index");
    }
  }

  /**
   * Gets the value of the 'versionControl' field.
   * Model version number   */
  public org.gel.models.report.avro.ReportVersionControl getVersionControl() {
    return versionControl;
  }

  /**
   * Sets the value of the 'versionControl' field.
   * Model version number   * @param value the value to set.
   */
  public void setVersionControl(org.gel.models.report.avro.ReportVersionControl value) {
    this.versionControl = value;
  }

  /**
   * Gets the value of the 'interpretationRequestId' field.
   * Identifier for this interpretation request   */
  public java.lang.String getInterpretationRequestId() {
    return interpretationRequestId;
  }

  /**
   * Sets the value of the 'interpretationRequestId' field.
   * Identifier for this interpretation request   * @param value the value to set.
   */
  public void setInterpretationRequestId(java.lang.String value) {
    this.interpretationRequestId = value;
  }

  /**
   * Gets the value of the 'interpretationRequestVersion' field.
   * Version for this interpretation request   */
  public java.lang.Integer getInterpretationRequestVersion() {
    return interpretationRequestVersion;
  }

  /**
   * Sets the value of the 'interpretationRequestVersion' field.
   * Version for this interpretation request   * @param value the value to set.
   */
  public void setInterpretationRequestVersion(java.lang.Integer value) {
    this.interpretationRequestVersion = value;
  }

  /**
   * Gets the value of the 'internalStudyId' field.
   * Internal study identifier   */
  public java.lang.String getInternalStudyId() {
    return internalStudyId;
  }

  /**
   * Sets the value of the 'internalStudyId' field.
   * Internal study identifier   * @param value the value to set.
   */
  public void setInternalStudyId(java.lang.String value) {
    this.internalStudyId = value;
  }

  /**
   * Gets the value of the 'familyInternalId' field.
   * Family internal identifier   */
  public java.lang.String getFamilyInternalId() {
    return familyInternalId;
  }

  /**
   * Sets the value of the 'familyInternalId' field.
   * Family internal identifier   * @param value the value to set.
   */
  public void setFamilyInternalId(java.lang.String value) {
    this.familyInternalId = value;
  }

  /**
   * Gets the value of the 'genomeAssembly' field.
   * This is the version of the assembly used to align the reads   */
  public org.gel.models.report.avro.Assembly getGenomeAssembly() {
    return genomeAssembly;
  }

  /**
   * Sets the value of the 'genomeAssembly' field.
   * This is the version of the assembly used to align the reads   * @param value the value to set.
   */
  public void setGenomeAssembly(org.gel.models.report.avro.Assembly value) {
    this.genomeAssembly = value;
  }

  /**
   * Gets the value of the 'workspace' field.
   * The genome shall be assigned to the workspaces(projects or domains with a predefined set of users) to control user access   */
  public java.util.List getWorkspace() {
    return workspace;
  }

  /**
   * Sets the value of the 'workspace' field.
   * The genome shall be assigned to the workspaces(projects or domains with a predefined set of users) to control user access   * @param value the value to set.
   */
  public void setWorkspace(java.util.List value) {
    this.workspace = value;
  }

  /**
   * Gets the value of the 'bams' field.
   * BAMs Files   */
  public java.util.List getBams() {
    return bams;
  }

  /**
   * Sets the value of the 'bams' field.
   * BAMs Files   * @param value the value to set.
   */
  public void setBams(java.util.List value) {
    this.bams = value;
  }

  /**
   * Gets the value of the 'vcfs' field.
   * VCFs Files where SVs and CNVs are represented   */
  public java.util.List getVcfs() {
    return vcfs;
  }

  /**
   * Sets the value of the 'vcfs' field.
   * VCFs Files where SVs and CNVs are represented   * @param value the value to set.
   */
  public void setVcfs(java.util.List value) {
    this.vcfs = value;
  }

  /**
   * Gets the value of the 'bigWigs' field.
   * BigWig Files   */
  public java.util.List getBigWigs() {
    return bigWigs;
  }

  /**
   * Sets the value of the 'bigWigs' field.
   * BigWig Files   * @param value the value to set.
   */
  public void setBigWigs(java.util.List value) {
    this.bigWigs = value;
  }

  /**
   * Gets the value of the 'pedigreeDiagram' field.
   * Pedigree Diagram Files as an SGV   */
  public org.gel.models.report.avro.File getPedigreeDiagram() {
    return pedigreeDiagram;
  }

  /**
   * Sets the value of the 'pedigreeDiagram' field.
   * Pedigree Diagram Files as an SGV   * @param value the value to set.
   */
  public void setPedigreeDiagram(org.gel.models.report.avro.File value) {
    this.pedigreeDiagram = value;
  }

  /**
   * Gets the value of the 'annotationFile' field.
   * Variant Annotation File   */
  public org.gel.models.report.avro.File getAnnotationFile() {
    return annotationFile;
  }

  /**
   * Sets the value of the 'annotationFile' field.
   * Variant Annotation File   * @param value the value to set.
   */
  public void setAnnotationFile(org.gel.models.report.avro.File value) {
    this.annotationFile = value;
  }

  /**
   * Gets the value of the 'otherFiles' field.
   * Other files that may be vendor specific
        map of key: type of file, value: record of type File   */
  public java.util.Map getOtherFiles() {
    return otherFiles;
  }

  /**
   * Sets the value of the 'otherFiles' field.
   * Other files that may be vendor specific
        map of key: type of file, value: record of type File   * @param value the value to set.
   */
  public void setOtherFiles(java.util.Map value) {
    this.otherFiles = value;
  }

  /**
   * Gets the value of the 'pedigree' field.
   * Pedigree of the family.   */
  public org.gel.models.participant.avro.Pedigree getPedigree() {
    return pedigree;
  }

  /**
   * Sets the value of the 'pedigree' field.
   * Pedigree of the family.   * @param value the value to set.
   */
  public void setPedigree(org.gel.models.participant.avro.Pedigree value) {
    this.pedigree = value;
  }

  /**
   * Gets the value of the 'otherFamilyHistory' field.
   * It is paternal or maternal with reference to the participant.   */
  public org.gel.models.report.avro.OtherFamilyHistory getOtherFamilyHistory() {
    return otherFamilyHistory;
  }

  /**
   * Sets the value of the 'otherFamilyHistory' field.
   * It is paternal or maternal with reference to the participant.   * @param value the value to set.
   */
  public void setOtherFamilyHistory(org.gel.models.report.avro.OtherFamilyHistory value) {
    this.otherFamilyHistory = value;
  }

  /**
   * Gets the value of the 'genePanelsCoverage' field.
   * This map of key: panel_name, value: (map of key: gene, value: (map of metrics of key: metric name, value: float))
        That is: a map of tables of genes and metrics   */
  public java.util.Map>> getGenePanelsCoverage() {
    return genePanelsCoverage;
  }

  /**
   * Sets the value of the 'genePanelsCoverage' field.
   * This map of key: panel_name, value: (map of key: gene, value: (map of metrics of key: metric name, value: float))
        That is: a map of tables of genes and metrics   * @param value the value to set.
   */
  public void setGenePanelsCoverage(java.util.Map>> value) {
    this.genePanelsCoverage = value;
  }

  /**
   * Gets the value of the 'interpretationFlags' field.
   * Flags for this case relevant for interpretation   */
  public java.util.List getInterpretationFlags() {
    return interpretationFlags;
  }

  /**
   * Sets the value of the 'interpretationFlags' field.
   * Flags for this case relevant for interpretation   * @param value the value to set.
   */
  public void setInterpretationFlags(java.util.List value) {
    this.interpretationFlags = value;
  }

  /**
   * Gets the value of the 'participantsInterpretationFlags' field.
   * Flags for this case relevant for interpretation per participant   */
  public java.util.List getParticipantsInterpretationFlags() {
    return participantsInterpretationFlags;
  }

  /**
   * Sets the value of the 'participantsInterpretationFlags' field.
   * Flags for this case relevant for interpretation per participant   * @param value the value to set.
   */
  public void setParticipantsInterpretationFlags(java.util.List value) {
    this.participantsInterpretationFlags = value;
  }

  /**
   * Gets the value of the 'additionalInfo' field.
   * Additional information   */
  public java.util.Map getAdditionalInfo() {
    return additionalInfo;
  }

  /**
   * Sets the value of the 'additionalInfo' field.
   * Additional information   * @param value the value to set.
   */
  public void setAdditionalInfo(java.util.Map value) {
    this.additionalInfo = value;
  }

  /** Creates a new InterpretationRequestRD RecordBuilder */
  public static org.gel.models.report.avro.InterpretationRequestRD.Builder newBuilder() {
    return new org.gel.models.report.avro.InterpretationRequestRD.Builder();
  }
  
  /** Creates a new InterpretationRequestRD RecordBuilder by copying an existing Builder */
  public static org.gel.models.report.avro.InterpretationRequestRD.Builder newBuilder(org.gel.models.report.avro.InterpretationRequestRD.Builder other) {
    return new org.gel.models.report.avro.InterpretationRequestRD.Builder(other);
  }
  
  /** Creates a new InterpretationRequestRD RecordBuilder by copying an existing InterpretationRequestRD instance */
  public static org.gel.models.report.avro.InterpretationRequestRD.Builder newBuilder(org.gel.models.report.avro.InterpretationRequestRD other) {
    return new org.gel.models.report.avro.InterpretationRequestRD.Builder(other);
  }
  
  /**
   * RecordBuilder for InterpretationRequestRD instances.
   */
  public static class Builder extends org.apache.avro.specific.SpecificRecordBuilderBase
    implements org.apache.avro.data.RecordBuilder {

    private org.gel.models.report.avro.ReportVersionControl versionControl;
    private java.lang.String interpretationRequestId;
    private int interpretationRequestVersion;
    private java.lang.String internalStudyId;
    private java.lang.String familyInternalId;
    private org.gel.models.report.avro.Assembly genomeAssembly;
    private java.util.List workspace;
    private java.util.List bams;
    private java.util.List vcfs;
    private java.util.List bigWigs;
    private org.gel.models.report.avro.File pedigreeDiagram;
    private org.gel.models.report.avro.File annotationFile;
    private java.util.Map otherFiles;
    private org.gel.models.participant.avro.Pedigree pedigree;
    private org.gel.models.report.avro.OtherFamilyHistory otherFamilyHistory;
    private java.util.Map>> genePanelsCoverage;
    private java.util.List interpretationFlags;
    private java.util.List participantsInterpretationFlags;
    private java.util.Map additionalInfo;

    /** Creates a new Builder */
    private Builder() {
      super(org.gel.models.report.avro.InterpretationRequestRD.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.gel.models.report.avro.InterpretationRequestRD.Builder other) {
      super(other);
      if (isValidValue(fields()[0], other.versionControl)) {
        this.versionControl = data().deepCopy(fields()[0].schema(), other.versionControl);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.interpretationRequestId)) {
        this.interpretationRequestId = data().deepCopy(fields()[1].schema(), other.interpretationRequestId);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.interpretationRequestVersion)) {
        this.interpretationRequestVersion = data().deepCopy(fields()[2].schema(), other.interpretationRequestVersion);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.internalStudyId)) {
        this.internalStudyId = data().deepCopy(fields()[3].schema(), other.internalStudyId);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.familyInternalId)) {
        this.familyInternalId = data().deepCopy(fields()[4].schema(), other.familyInternalId);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.genomeAssembly)) {
        this.genomeAssembly = data().deepCopy(fields()[5].schema(), other.genomeAssembly);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.workspace)) {
        this.workspace = data().deepCopy(fields()[6].schema(), other.workspace);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.bams)) {
        this.bams = data().deepCopy(fields()[7].schema(), other.bams);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.vcfs)) {
        this.vcfs = data().deepCopy(fields()[8].schema(), other.vcfs);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.bigWigs)) {
        this.bigWigs = data().deepCopy(fields()[9].schema(), other.bigWigs);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.pedigreeDiagram)) {
        this.pedigreeDiagram = data().deepCopy(fields()[10].schema(), other.pedigreeDiagram);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.annotationFile)) {
        this.annotationFile = data().deepCopy(fields()[11].schema(), other.annotationFile);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.otherFiles)) {
        this.otherFiles = data().deepCopy(fields()[12].schema(), other.otherFiles);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.pedigree)) {
        this.pedigree = data().deepCopy(fields()[13].schema(), other.pedigree);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.otherFamilyHistory)) {
        this.otherFamilyHistory = data().deepCopy(fields()[14].schema(), other.otherFamilyHistory);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.genePanelsCoverage)) {
        this.genePanelsCoverage = data().deepCopy(fields()[15].schema(), other.genePanelsCoverage);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.interpretationFlags)) {
        this.interpretationFlags = data().deepCopy(fields()[16].schema(), other.interpretationFlags);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.participantsInterpretationFlags)) {
        this.participantsInterpretationFlags = data().deepCopy(fields()[17].schema(), other.participantsInterpretationFlags);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.additionalInfo)) {
        this.additionalInfo = data().deepCopy(fields()[18].schema(), other.additionalInfo);
        fieldSetFlags()[18] = true;
      }
    }
    
    /** Creates a Builder by copying an existing InterpretationRequestRD instance */
    private Builder(org.gel.models.report.avro.InterpretationRequestRD other) {
            super(org.gel.models.report.avro.InterpretationRequestRD.SCHEMA$);
      if (isValidValue(fields()[0], other.versionControl)) {
        this.versionControl = data().deepCopy(fields()[0].schema(), other.versionControl);
        fieldSetFlags()[0] = true;
      }
      if (isValidValue(fields()[1], other.interpretationRequestId)) {
        this.interpretationRequestId = data().deepCopy(fields()[1].schema(), other.interpretationRequestId);
        fieldSetFlags()[1] = true;
      }
      if (isValidValue(fields()[2], other.interpretationRequestVersion)) {
        this.interpretationRequestVersion = data().deepCopy(fields()[2].schema(), other.interpretationRequestVersion);
        fieldSetFlags()[2] = true;
      }
      if (isValidValue(fields()[3], other.internalStudyId)) {
        this.internalStudyId = data().deepCopy(fields()[3].schema(), other.internalStudyId);
        fieldSetFlags()[3] = true;
      }
      if (isValidValue(fields()[4], other.familyInternalId)) {
        this.familyInternalId = data().deepCopy(fields()[4].schema(), other.familyInternalId);
        fieldSetFlags()[4] = true;
      }
      if (isValidValue(fields()[5], other.genomeAssembly)) {
        this.genomeAssembly = data().deepCopy(fields()[5].schema(), other.genomeAssembly);
        fieldSetFlags()[5] = true;
      }
      if (isValidValue(fields()[6], other.workspace)) {
        this.workspace = data().deepCopy(fields()[6].schema(), other.workspace);
        fieldSetFlags()[6] = true;
      }
      if (isValidValue(fields()[7], other.bams)) {
        this.bams = data().deepCopy(fields()[7].schema(), other.bams);
        fieldSetFlags()[7] = true;
      }
      if (isValidValue(fields()[8], other.vcfs)) {
        this.vcfs = data().deepCopy(fields()[8].schema(), other.vcfs);
        fieldSetFlags()[8] = true;
      }
      if (isValidValue(fields()[9], other.bigWigs)) {
        this.bigWigs = data().deepCopy(fields()[9].schema(), other.bigWigs);
        fieldSetFlags()[9] = true;
      }
      if (isValidValue(fields()[10], other.pedigreeDiagram)) {
        this.pedigreeDiagram = data().deepCopy(fields()[10].schema(), other.pedigreeDiagram);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.annotationFile)) {
        this.annotationFile = data().deepCopy(fields()[11].schema(), other.annotationFile);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.otherFiles)) {
        this.otherFiles = data().deepCopy(fields()[12].schema(), other.otherFiles);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.pedigree)) {
        this.pedigree = data().deepCopy(fields()[13].schema(), other.pedigree);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.otherFamilyHistory)) {
        this.otherFamilyHistory = data().deepCopy(fields()[14].schema(), other.otherFamilyHistory);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.genePanelsCoverage)) {
        this.genePanelsCoverage = data().deepCopy(fields()[15].schema(), other.genePanelsCoverage);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.interpretationFlags)) {
        this.interpretationFlags = data().deepCopy(fields()[16].schema(), other.interpretationFlags);
        fieldSetFlags()[16] = true;
      }
      if (isValidValue(fields()[17], other.participantsInterpretationFlags)) {
        this.participantsInterpretationFlags = data().deepCopy(fields()[17].schema(), other.participantsInterpretationFlags);
        fieldSetFlags()[17] = true;
      }
      if (isValidValue(fields()[18], other.additionalInfo)) {
        this.additionalInfo = data().deepCopy(fields()[18].schema(), other.additionalInfo);
        fieldSetFlags()[18] = true;
      }
    }

    /** Gets the value of the 'versionControl' field */
    public org.gel.models.report.avro.ReportVersionControl getVersionControl() {
      return versionControl;
    }
    
    /** Sets the value of the 'versionControl' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setVersionControl(org.gel.models.report.avro.ReportVersionControl value) {
      validate(fields()[0], value);
      this.versionControl = value;
      fieldSetFlags()[0] = true;
      return this; 
    }
    
    /** Checks whether the 'versionControl' field has been set */
    public boolean hasVersionControl() {
      return fieldSetFlags()[0];
    }
    
    /** Clears the value of the 'versionControl' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearVersionControl() {
      versionControl = null;
      fieldSetFlags()[0] = false;
      return this;
    }

    /** Gets the value of the 'interpretationRequestId' field */
    public java.lang.String getInterpretationRequestId() {
      return interpretationRequestId;
    }
    
    /** Sets the value of the 'interpretationRequestId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setInterpretationRequestId(java.lang.String value) {
      validate(fields()[1], value);
      this.interpretationRequestId = value;
      fieldSetFlags()[1] = true;
      return this; 
    }
    
    /** Checks whether the 'interpretationRequestId' field has been set */
    public boolean hasInterpretationRequestId() {
      return fieldSetFlags()[1];
    }
    
    /** Clears the value of the 'interpretationRequestId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearInterpretationRequestId() {
      interpretationRequestId = null;
      fieldSetFlags()[1] = false;
      return this;
    }

    /** Gets the value of the 'interpretationRequestVersion' field */
    public java.lang.Integer getInterpretationRequestVersion() {
      return interpretationRequestVersion;
    }
    
    /** Sets the value of the 'interpretationRequestVersion' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setInterpretationRequestVersion(int value) {
      validate(fields()[2], value);
      this.interpretationRequestVersion = value;
      fieldSetFlags()[2] = true;
      return this; 
    }
    
    /** Checks whether the 'interpretationRequestVersion' field has been set */
    public boolean hasInterpretationRequestVersion() {
      return fieldSetFlags()[2];
    }
    
    /** Clears the value of the 'interpretationRequestVersion' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearInterpretationRequestVersion() {
      fieldSetFlags()[2] = false;
      return this;
    }

    /** Gets the value of the 'internalStudyId' field */
    public java.lang.String getInternalStudyId() {
      return internalStudyId;
    }
    
    /** Sets the value of the 'internalStudyId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setInternalStudyId(java.lang.String value) {
      validate(fields()[3], value);
      this.internalStudyId = value;
      fieldSetFlags()[3] = true;
      return this; 
    }
    
    /** Checks whether the 'internalStudyId' field has been set */
    public boolean hasInternalStudyId() {
      return fieldSetFlags()[3];
    }
    
    /** Clears the value of the 'internalStudyId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearInternalStudyId() {
      internalStudyId = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'familyInternalId' field */
    public java.lang.String getFamilyInternalId() {
      return familyInternalId;
    }
    
    /** Sets the value of the 'familyInternalId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setFamilyInternalId(java.lang.String value) {
      validate(fields()[4], value);
      this.familyInternalId = value;
      fieldSetFlags()[4] = true;
      return this; 
    }
    
    /** Checks whether the 'familyInternalId' field has been set */
    public boolean hasFamilyInternalId() {
      return fieldSetFlags()[4];
    }
    
    /** Clears the value of the 'familyInternalId' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearFamilyInternalId() {
      familyInternalId = null;
      fieldSetFlags()[4] = false;
      return this;
    }

    /** Gets the value of the 'genomeAssembly' field */
    public org.gel.models.report.avro.Assembly getGenomeAssembly() {
      return genomeAssembly;
    }
    
    /** Sets the value of the 'genomeAssembly' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setGenomeAssembly(org.gel.models.report.avro.Assembly value) {
      validate(fields()[5], value);
      this.genomeAssembly = value;
      fieldSetFlags()[5] = true;
      return this; 
    }
    
    /** Checks whether the 'genomeAssembly' field has been set */
    public boolean hasGenomeAssembly() {
      return fieldSetFlags()[5];
    }
    
    /** Clears the value of the 'genomeAssembly' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearGenomeAssembly() {
      genomeAssembly = null;
      fieldSetFlags()[5] = false;
      return this;
    }

    /** Gets the value of the 'workspace' field */
    public java.util.List getWorkspace() {
      return workspace;
    }
    
    /** Sets the value of the 'workspace' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setWorkspace(java.util.List value) {
      validate(fields()[6], value);
      this.workspace = value;
      fieldSetFlags()[6] = true;
      return this; 
    }
    
    /** Checks whether the 'workspace' field has been set */
    public boolean hasWorkspace() {
      return fieldSetFlags()[6];
    }
    
    /** Clears the value of the 'workspace' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearWorkspace() {
      workspace = null;
      fieldSetFlags()[6] = false;
      return this;
    }

    /** Gets the value of the 'bams' field */
    public java.util.List getBams() {
      return bams;
    }
    
    /** Sets the value of the 'bams' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setBams(java.util.List value) {
      validate(fields()[7], value);
      this.bams = value;
      fieldSetFlags()[7] = true;
      return this; 
    }
    
    /** Checks whether the 'bams' field has been set */
    public boolean hasBams() {
      return fieldSetFlags()[7];
    }
    
    /** Clears the value of the 'bams' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearBams() {
      bams = null;
      fieldSetFlags()[7] = false;
      return this;
    }

    /** Gets the value of the 'vcfs' field */
    public java.util.List getVcfs() {
      return vcfs;
    }
    
    /** Sets the value of the 'vcfs' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setVcfs(java.util.List value) {
      validate(fields()[8], value);
      this.vcfs = value;
      fieldSetFlags()[8] = true;
      return this; 
    }
    
    /** Checks whether the 'vcfs' field has been set */
    public boolean hasVcfs() {
      return fieldSetFlags()[8];
    }
    
    /** Clears the value of the 'vcfs' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearVcfs() {
      vcfs = null;
      fieldSetFlags()[8] = false;
      return this;
    }

    /** Gets the value of the 'bigWigs' field */
    public java.util.List getBigWigs() {
      return bigWigs;
    }
    
    /** Sets the value of the 'bigWigs' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setBigWigs(java.util.List value) {
      validate(fields()[9], value);
      this.bigWigs = value;
      fieldSetFlags()[9] = true;
      return this; 
    }
    
    /** Checks whether the 'bigWigs' field has been set */
    public boolean hasBigWigs() {
      return fieldSetFlags()[9];
    }
    
    /** Clears the value of the 'bigWigs' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearBigWigs() {
      bigWigs = null;
      fieldSetFlags()[9] = false;
      return this;
    }

    /** Gets the value of the 'pedigreeDiagram' field */
    public org.gel.models.report.avro.File getPedigreeDiagram() {
      return pedigreeDiagram;
    }
    
    /** Sets the value of the 'pedigreeDiagram' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setPedigreeDiagram(org.gel.models.report.avro.File value) {
      validate(fields()[10], value);
      this.pedigreeDiagram = value;
      fieldSetFlags()[10] = true;
      return this; 
    }
    
    /** Checks whether the 'pedigreeDiagram' field has been set */
    public boolean hasPedigreeDiagram() {
      return fieldSetFlags()[10];
    }
    
    /** Clears the value of the 'pedigreeDiagram' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearPedigreeDiagram() {
      pedigreeDiagram = null;
      fieldSetFlags()[10] = false;
      return this;
    }

    /** Gets the value of the 'annotationFile' field */
    public org.gel.models.report.avro.File getAnnotationFile() {
      return annotationFile;
    }
    
    /** Sets the value of the 'annotationFile' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setAnnotationFile(org.gel.models.report.avro.File value) {
      validate(fields()[11], value);
      this.annotationFile = value;
      fieldSetFlags()[11] = true;
      return this; 
    }
    
    /** Checks whether the 'annotationFile' field has been set */
    public boolean hasAnnotationFile() {
      return fieldSetFlags()[11];
    }
    
    /** Clears the value of the 'annotationFile' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearAnnotationFile() {
      annotationFile = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'otherFiles' field */
    public java.util.Map getOtherFiles() {
      return otherFiles;
    }
    
    /** Sets the value of the 'otherFiles' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setOtherFiles(java.util.Map value) {
      validate(fields()[12], value);
      this.otherFiles = value;
      fieldSetFlags()[12] = true;
      return this; 
    }
    
    /** Checks whether the 'otherFiles' field has been set */
    public boolean hasOtherFiles() {
      return fieldSetFlags()[12];
    }
    
    /** Clears the value of the 'otherFiles' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearOtherFiles() {
      otherFiles = null;
      fieldSetFlags()[12] = false;
      return this;
    }

    /** Gets the value of the 'pedigree' field */
    public org.gel.models.participant.avro.Pedigree getPedigree() {
      return pedigree;
    }
    
    /** Sets the value of the 'pedigree' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setPedigree(org.gel.models.participant.avro.Pedigree value) {
      validate(fields()[13], value);
      this.pedigree = value;
      fieldSetFlags()[13] = true;
      return this; 
    }
    
    /** Checks whether the 'pedigree' field has been set */
    public boolean hasPedigree() {
      return fieldSetFlags()[13];
    }
    
    /** Clears the value of the 'pedigree' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearPedigree() {
      pedigree = null;
      fieldSetFlags()[13] = false;
      return this;
    }

    /** Gets the value of the 'otherFamilyHistory' field */
    public org.gel.models.report.avro.OtherFamilyHistory getOtherFamilyHistory() {
      return otherFamilyHistory;
    }
    
    /** Sets the value of the 'otherFamilyHistory' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setOtherFamilyHistory(org.gel.models.report.avro.OtherFamilyHistory value) {
      validate(fields()[14], value);
      this.otherFamilyHistory = value;
      fieldSetFlags()[14] = true;
      return this; 
    }
    
    /** Checks whether the 'otherFamilyHistory' field has been set */
    public boolean hasOtherFamilyHistory() {
      return fieldSetFlags()[14];
    }
    
    /** Clears the value of the 'otherFamilyHistory' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearOtherFamilyHistory() {
      otherFamilyHistory = null;
      fieldSetFlags()[14] = false;
      return this;
    }

    /** Gets the value of the 'genePanelsCoverage' field */
    public java.util.Map>> getGenePanelsCoverage() {
      return genePanelsCoverage;
    }
    
    /** Sets the value of the 'genePanelsCoverage' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setGenePanelsCoverage(java.util.Map>> value) {
      validate(fields()[15], value);
      this.genePanelsCoverage = value;
      fieldSetFlags()[15] = true;
      return this; 
    }
    
    /** Checks whether the 'genePanelsCoverage' field has been set */
    public boolean hasGenePanelsCoverage() {
      return fieldSetFlags()[15];
    }
    
    /** Clears the value of the 'genePanelsCoverage' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearGenePanelsCoverage() {
      genePanelsCoverage = null;
      fieldSetFlags()[15] = false;
      return this;
    }

    /** Gets the value of the 'interpretationFlags' field */
    public java.util.List getInterpretationFlags() {
      return interpretationFlags;
    }
    
    /** Sets the value of the 'interpretationFlags' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setInterpretationFlags(java.util.List value) {
      validate(fields()[16], value);
      this.interpretationFlags = value;
      fieldSetFlags()[16] = true;
      return this; 
    }
    
    /** Checks whether the 'interpretationFlags' field has been set */
    public boolean hasInterpretationFlags() {
      return fieldSetFlags()[16];
    }
    
    /** Clears the value of the 'interpretationFlags' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearInterpretationFlags() {
      interpretationFlags = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    /** Gets the value of the 'participantsInterpretationFlags' field */
    public java.util.List getParticipantsInterpretationFlags() {
      return participantsInterpretationFlags;
    }
    
    /** Sets the value of the 'participantsInterpretationFlags' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setParticipantsInterpretationFlags(java.util.List value) {
      validate(fields()[17], value);
      this.participantsInterpretationFlags = value;
      fieldSetFlags()[17] = true;
      return this; 
    }
    
    /** Checks whether the 'participantsInterpretationFlags' field has been set */
    public boolean hasParticipantsInterpretationFlags() {
      return fieldSetFlags()[17];
    }
    
    /** Clears the value of the 'participantsInterpretationFlags' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearParticipantsInterpretationFlags() {
      participantsInterpretationFlags = null;
      fieldSetFlags()[17] = false;
      return this;
    }

    /** Gets the value of the 'additionalInfo' field */
    public java.util.Map getAdditionalInfo() {
      return additionalInfo;
    }
    
    /** Sets the value of the 'additionalInfo' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder setAdditionalInfo(java.util.Map value) {
      validate(fields()[18], value);
      this.additionalInfo = value;
      fieldSetFlags()[18] = true;
      return this; 
    }
    
    /** Checks whether the 'additionalInfo' field has been set */
    public boolean hasAdditionalInfo() {
      return fieldSetFlags()[18];
    }
    
    /** Clears the value of the 'additionalInfo' field */
    public org.gel.models.report.avro.InterpretationRequestRD.Builder clearAdditionalInfo() {
      additionalInfo = null;
      fieldSetFlags()[18] = false;
      return this;
    }

    @Override
    public InterpretationRequestRD build() {
      try {
        InterpretationRequestRD record = new InterpretationRequestRD();
        record.versionControl = fieldSetFlags()[0] ? this.versionControl : (org.gel.models.report.avro.ReportVersionControl) defaultValue(fields()[0]);
        record.interpretationRequestId = fieldSetFlags()[1] ? this.interpretationRequestId : (java.lang.String) defaultValue(fields()[1]);
        record.interpretationRequestVersion = fieldSetFlags()[2] ? this.interpretationRequestVersion : (java.lang.Integer) defaultValue(fields()[2]);
        record.internalStudyId = fieldSetFlags()[3] ? this.internalStudyId : (java.lang.String) defaultValue(fields()[3]);
        record.familyInternalId = fieldSetFlags()[4] ? this.familyInternalId : (java.lang.String) defaultValue(fields()[4]);
        record.genomeAssembly = fieldSetFlags()[5] ? this.genomeAssembly : (org.gel.models.report.avro.Assembly) defaultValue(fields()[5]);
        record.workspace = fieldSetFlags()[6] ? this.workspace : (java.util.List) defaultValue(fields()[6]);
        record.bams = fieldSetFlags()[7] ? this.bams : (java.util.List) defaultValue(fields()[7]);
        record.vcfs = fieldSetFlags()[8] ? this.vcfs : (java.util.List) defaultValue(fields()[8]);
        record.bigWigs = fieldSetFlags()[9] ? this.bigWigs : (java.util.List) defaultValue(fields()[9]);
        record.pedigreeDiagram = fieldSetFlags()[10] ? this.pedigreeDiagram : (org.gel.models.report.avro.File) defaultValue(fields()[10]);
        record.annotationFile = fieldSetFlags()[11] ? this.annotationFile : (org.gel.models.report.avro.File) defaultValue(fields()[11]);
        record.otherFiles = fieldSetFlags()[12] ? this.otherFiles : (java.util.Map) defaultValue(fields()[12]);
        record.pedigree = fieldSetFlags()[13] ? this.pedigree : (org.gel.models.participant.avro.Pedigree) defaultValue(fields()[13]);
        record.otherFamilyHistory = fieldSetFlags()[14] ? this.otherFamilyHistory : (org.gel.models.report.avro.OtherFamilyHistory) defaultValue(fields()[14]);
        record.genePanelsCoverage = fieldSetFlags()[15] ? this.genePanelsCoverage : (java.util.Map>>) defaultValue(fields()[15]);
        record.interpretationFlags = fieldSetFlags()[16] ? this.interpretationFlags : (java.util.List) defaultValue(fields()[16]);
        record.participantsInterpretationFlags = fieldSetFlags()[17] ? this.participantsInterpretationFlags : (java.util.List) defaultValue(fields()[17]);
        record.additionalInfo = fieldSetFlags()[18] ? this.additionalInfo : (java.util.Map) defaultValue(fields()[18]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy