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

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

/**
 * 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 CancerInterpretationRequest 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\":\"CancerInterpretationRequest\",\"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\":\"participantInternalId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant 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\":\"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\":\"cancerParticipant\",\"type\":[\"null\",{\"type\":\"record\",\"name\":\"CancerParticipant\",\"namespace\":\"org.gel.models.participant.avro\",\"doc\":\"This defines a Cancer Participant\",\"fields\":[{\"name\":\"yearOfBirth\",\"type\":[\"null\",\"int\"],\"doc\":\"Year of birth for the cancer participant\"},{\"name\":\"morphology\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"Morphology of any tumours\\n        NOTE: In GMS, this field is deprecated as morphology will be in sample or with respect to a tumour record\"},{\"name\":\"readyForAnalysis\",\"type\":\"boolean\",\"doc\":\"Flag indicating if the participant is ready for analysis\\n        NOTE: In GMS, this will default to true\"},{\"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\":\"center\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Center\\n        NOTE: In GMS, this will be taken from the ReferralTest and duplicated here\"},{\"name\":\"individualId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Individual identifier\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"This is a human readable participant ID\"},{\"name\":\"primaryDiagnosisDisease\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"This should be an enumeration when it is well defined\\n        blood, breast, prostate, colorectal, cll, aml, renal, ovarian, skin, lymphNode, bone, saliva //for individual - there could be more than I have listed here, in fact there definitely will.\\n        In GMS, this field is deprecated\"},{\"name\":\"primaryDiagnosisSubDisease\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"This should be an enumeration when it is well defined\\n        blood, breast, prostate, colorectal, cll, aml, renal, ovarian, skin, lymphNode, bone, saliva //for individual - there could be more than I have listed here, in fact there definitely will.\\n        In GMS, this field is deprecated\"},{\"name\":\"sex\",\"type\":{\"type\":\"enum\",\"name\":\"Sex\",\"doc\":\"Sex\",\"symbols\":[\"MALE\",\"FEMALE\",\"UNKNOWN\"]},\"doc\":\"Sex\"},{\"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\"},{\"name\":\"assignedICD10\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"string\",\"avro.java.string\":\"String\"}}],\"doc\":\"assigned ICD10 code\\n        IN GMS, this is deprecated\"},{\"name\":\"tumourSamples\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"TumourSample\",\"doc\":\"A tumour 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\":\"tumourId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}]",",\"doc\":\"This is the ID of the tumour from which this tumour sample was taken from\"},{\"name\":\"programmePhase\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Genomics England programme phase\"},{\"name\":\"diseaseType\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"diseaseType\",\"symbols\":[\"ADULT_GLIOMA\",\"BLADDER\",\"BREAST\",\"CARCINOMA_OF_UNKNOWN_PRIMARY\",\"CHILDHOOD\",\"COLORECTAL\",\"ENDOCRINE\",\"ENDOMETRIAL_CARCINOMA\",\"HAEMONC\",\"HEPATOPANCREATOBILIARY\",\"LUNG\",\"MALIGNANT_MELANOMA\",\"NASOPHARYNGEAL\",\"ORAL_OROPHARYNGEAL\",\"OVARIAN\",\"PROSTATE\",\"RENAL\",\"SARCOMA\",\"SINONASAL\",\"TESTICULAR_GERM_CELL_TUMOURS\",\"UPPER_GASTROINTESTINAL\",\"OTHER\",\"NON_HODGKINS_B_CELL_LYMPHOMA_LOW_MOD_GRADE\",\"CLASSICAL_HODGKINS\",\"NODULAR_LYMPHOCYTE_PREDOMINANT_HODGKINS\",\"T_CELL_LYMPHOMA\"]}],\"doc\":\"Disease type.\\n        NOTE: Deprecated in GMS\"},{\"name\":\"diseaseSubType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Disease subtype.\\n        NOTE: Deprecated in GMS\"},{\"name\":\"haematologicalCancer\",\"type\":[\"null\",\"boolean\"],\"doc\":\"True or false if this sample is of type: Haematological Cancer\"},{\"name\":\"haematologicalCancerLineage\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"HaematologicalCancerLineage\",\"symbols\":[\"MYELOID\",\"LYMPHOID\",\"UNKNOWN\"]}],\"doc\":\"This is the Haematological cancer lineage of the tumourSample if this sample is from a haematological cancer\"},{\"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\":\"tumourType\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Tumor type.\\n        NOTE: Deprecated in GMS in tumourSample but available in tumour record\"},{\"name\":\"tumourContent\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TumourContent\",\"symbols\":[\"High\",\"Medium\",\"Low\"]}],\"doc\":\"This is the tumour content\"},{\"name\":\"tumourContentPercentage\",\"type\":[\"null\",\"float\"],\"doc\":\"This is the tumour content percentage\"},{\"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\",\"CHORIONIC_VILLUS_SAMPLE\",\"FIBROBLAST\",\"FLUID\",\"FRESH_TISSUE_IN_CULTURE_MEDIUM\",\"OTHER\",\"SALIVA\",\"TISSUE\",\"TUMOUR\",\"URINE\"]}],\"doc\":\"Source 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\":\"The preparation method of the sample\\n        NOTE: Deprecated in GMS in replace of Method and storageMedium record\"},{\"name\":\"tissueSource\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The tissue source of the sample.\\n        NOTE: DEPRECATED IN GMS in replace of method record\"},{\"name\":\"product\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"Product\",\"symbols\":[\"DNA\",\"RNA\"]}],\"doc\":\"Product of the sample\"},{\"name\":\"sampleMorphologies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Morphology\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term id or accession in OBO format ${ONTOLOGY_ID}:${TERM_ID} (http://www.obofoundry.org/id-policy.html)\"},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term name\"},{\"name\":\"value\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Optional value for the ontology term, the type of the value is not checked\\n        (i.e.: we could set the pvalue term to \\\"significant\\\" or to \\\"0.0001\\\")\"},{\"name\":\"version\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Ontology version\"}]}}],\"doc\":\"Morphology according to the sample taken\"},{\"name\":\"sampleTopographies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Topography\",\"fields\":[{\"name\":\"id\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term id or accession in OBO format ${ONTOLOGY_ID}:${TERM_ID} (http://www.obofoundry.org/id-policy.html)\"},{\"name\":\"name\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"The ontology term name\"},{\"name\":\"value\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Optional value for the ontology term, the type of the value is not checked\\n        (i.e.: we could set the pvalue term to \\\"significant\\\" or to \\\"0.0001\\\")\"},{\"name\":\"version\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Ontology version\"}]}}],\"doc\":\"Topography according to the sample taken\"},{\"name\":\"sampleUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the GUID of the sample\"},{\"name\":\"participantId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant Id of the sample\"},{\"name\":\"participantUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Participant UId of the sample\"},{\"name\":\"maskedPid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"In GMS, this is the maskedPID\"},{\"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\":\"List of tumour samples\\n        IN GMS, this is deprecated and moved to ReferralTest\"},{\"name\":\"germlineSamples\",\"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\",\"SampleSource\"],\"doc\":\"Source of the sample\"},{\"name\":\"product\",\"type\":[\"null\",\"Product\"],\"doc\":\"Product of the sample\"},{\"name\":\"preparationMethod\",\"type\":[\"null\",\"PreparationMethod\"],\"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\",\"Method\"],\"doc\":\"In GMS, this is how the sample was extracted from the participant\"},{\"name\":\"storageMedium\",\"type\":[\"null\",\"Sto","rageMedium\"],\"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\":\"List of germline samples\\n        IN GMS, this is deprecated and moved to ReferralTest\"},{\"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\":\"participantUid\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Individual UID in GMS\"},{\"name\":\"tumours\",\"type\":[\"null\",{\"type\":\"array\",\"items\":{\"type\":\"record\",\"name\":\"Tumour\",\"fields\":[{\"name\":\"tumourId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"TumourId in GMS\"},{\"name\":\"tumourLocalId\",\"type\":{\"type\":\"string\",\"avro.java.string\":\"String\"},\"doc\":\"Local hospital tumour ID from the GLH Laboratory Information Management System (LIMS) in GMS\"},{\"name\":\"tumourType\",\"type\":{\"type\":\"enum\",\"name\":\"TumourType\",\"doc\":\"NOTE: This has been changed completely, the previous tumour type has been split into TumourPresentation and PrimaryOrMetastatic\",\"symbols\":[\"BRAIN_TUMOUR\",\"HAEMATOLOGICAL_MALIGNANCY_SOLID_SAMPLE\",\"HAEMATOLOGICAL_MALIGNANCY_LIQUID_SAMPLE\",\"SOLID_TUMOUR_METASTATIC\",\"SOLID_TUMOUR_PRIMARY\",\"SOLID_TUMOUR\",\"UNKNOWN\"]},\"doc\":\"tumourType\"},{\"name\":\"tumourParentId\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Parent Tumour UID if this tumour is metastatic\"},{\"name\":\"tumourDiagnosisDate\",\"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\":\"Date of Diagnosis of the specific tumour\"},{\"name\":\"tumourDescription\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Description of the tumour\"},{\"name\":\"tumourMorphologies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"Morphology\"}],\"doc\":\"Morphology of the tumour\"},{\"name\":\"tumourTopographies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"Topography\"}],\"doc\":\"Topography of the tumour\"},{\"name\":\"tumourPrimaryTopographies\",\"type\":[\"null\",{\"type\":\"array\",\"items\":\"Topography\"}],\"doc\":\"Associated primary topography for metastatic tumours\"},{\"name\":\"tumourGrade\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Grade of the Tumour\"},{\"name\":\"tumourStage\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Stage of the Tumour\"},{\"name\":\"tumourPrognosticScore\",\"type\":[\"null\",{\"type\":\"string\",\"avro.java.string\":\"String\"}],\"doc\":\"Prognostic Score of the Tumour\"},{\"name\":\"tumourPresentation\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"TumourPresentation\",\"symbols\":[\"FIRST_PRESENTATION\",\"RECURRENCE\",\"UNKNOWN\"]}],\"doc\":\"In GMS, tumour presentation\"},{\"name\":\"primaryOrMetastatic\",\"type\":[\"null\",{\"type\":\"enum\",\"name\":\"PrimaryOrMetastatic\",\"symbols\":[\"PRIMARY\",\"METASTATIC\",\"UNKNOWN\",\"NOT_APPLICABLE\"]}],\"doc\":\"In GMS, primary or metastatic\"}]}}],\"doc\":\"In GMS, for all tumours for the CancerParticipant, independent of any samples\"},{\"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\",\"Date\"]}]}}],\"doc\":\"In GMS, any previous treatment recorded in TOMs\"}]}],\"doc\":\"Cancer Particiapnt Data.\"},{\"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 about this case relevant for interpretation\"},{\"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;
  /** Participant internal identifier */
   private java.lang.String participantInternalId;
  /** 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;
  /** 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;
  /** Cancer Particiapnt Data. */
   private org.gel.models.participant.avro.CancerParticipant cancerParticipant;
  /** 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 about this case relevant for interpretation */
   private java.util.List interpretationFlags;
  /** 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 CancerInterpretationRequest() {}

  /**
   * All-args constructor.
   */
  public CancerInterpretationRequest(org.gel.models.report.avro.ReportVersionControl versionControl, java.lang.String interpretationRequestId, java.lang.Integer interpretationRequestVersion, java.lang.String internalStudyId, java.lang.String participantInternalId, 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 annotationFile, java.util.Map otherFiles, org.gel.models.participant.avro.CancerParticipant cancerParticipant, org.gel.models.report.avro.OtherFamilyHistory otherFamilyHistory, java.util.Map>> genePanelsCoverage, java.util.List interpretationFlags, java.util.Map additionalInfo) {
    this.versionControl = versionControl;
    this.interpretationRequestId = interpretationRequestId;
    this.interpretationRequestVersion = interpretationRequestVersion;
    this.internalStudyId = internalStudyId;
    this.participantInternalId = participantInternalId;
    this.genomeAssembly = genomeAssembly;
    this.workspace = workspace;
    this.bams = bams;
    this.vcfs = vcfs;
    this.bigWigs = bigWigs;
    this.annotationFile = annotationFile;
    this.otherFiles = otherFiles;
    this.cancerParticipant = cancerParticipant;
    this.otherFamilyHistory = otherFamilyHistory;
    this.genePanelsCoverage = genePanelsCoverage;
    this.interpretationFlags = interpretationFlags;
    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 participantInternalId;
    case 5: return genomeAssembly;
    case 6: return workspace;
    case 7: return bams;
    case 8: return vcfs;
    case 9: return bigWigs;
    case 10: return annotationFile;
    case 11: return otherFiles;
    case 12: return cancerParticipant;
    case 13: return otherFamilyHistory;
    case 14: return genePanelsCoverage;
    case 15: return interpretationFlags;
    case 16: 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: participantInternalId = (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: annotationFile = (org.gel.models.report.avro.File)value$; break;
    case 11: otherFiles = (java.util.Map)value$; break;
    case 12: cancerParticipant = (org.gel.models.participant.avro.CancerParticipant)value$; break;
    case 13: otherFamilyHistory = (org.gel.models.report.avro.OtherFamilyHistory)value$; break;
    case 14: genePanelsCoverage = (java.util.Map>>)value$; break;
    case 15: interpretationFlags = (java.util.List)value$; break;
    case 16: 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 'participantInternalId' field.
   * Participant internal identifier   */
  public java.lang.String getParticipantInternalId() {
    return participantInternalId;
  }

  /**
   * Sets the value of the 'participantInternalId' field.
   * Participant internal identifier   * @param value the value to set.
   */
  public void setParticipantInternalId(java.lang.String value) {
    this.participantInternalId = 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 '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 'cancerParticipant' field.
   * Cancer Particiapnt Data.   */
  public org.gel.models.participant.avro.CancerParticipant getCancerParticipant() {
    return cancerParticipant;
  }

  /**
   * Sets the value of the 'cancerParticipant' field.
   * Cancer Particiapnt Data.   * @param value the value to set.
   */
  public void setCancerParticipant(org.gel.models.participant.avro.CancerParticipant value) {
    this.cancerParticipant = 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 about this case relevant for interpretation   */
  public java.util.List getInterpretationFlags() {
    return interpretationFlags;
  }

  /**
   * Sets the value of the 'interpretationFlags' field.
   * Flags about 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 '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 CancerInterpretationRequest RecordBuilder */
  public static org.gel.models.report.avro.CancerInterpretationRequest.Builder newBuilder() {
    return new org.gel.models.report.avro.CancerInterpretationRequest.Builder();
  }
  
  /** Creates a new CancerInterpretationRequest RecordBuilder by copying an existing Builder */
  public static org.gel.models.report.avro.CancerInterpretationRequest.Builder newBuilder(org.gel.models.report.avro.CancerInterpretationRequest.Builder other) {
    return new org.gel.models.report.avro.CancerInterpretationRequest.Builder(other);
  }
  
  /** Creates a new CancerInterpretationRequest RecordBuilder by copying an existing CancerInterpretationRequest instance */
  public static org.gel.models.report.avro.CancerInterpretationRequest.Builder newBuilder(org.gel.models.report.avro.CancerInterpretationRequest other) {
    return new org.gel.models.report.avro.CancerInterpretationRequest.Builder(other);
  }
  
  /**
   * RecordBuilder for CancerInterpretationRequest 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 participantInternalId;
    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 annotationFile;
    private java.util.Map otherFiles;
    private org.gel.models.participant.avro.CancerParticipant cancerParticipant;
    private org.gel.models.report.avro.OtherFamilyHistory otherFamilyHistory;
    private java.util.Map>> genePanelsCoverage;
    private java.util.List interpretationFlags;
    private java.util.Map additionalInfo;

    /** Creates a new Builder */
    private Builder() {
      super(org.gel.models.report.avro.CancerInterpretationRequest.SCHEMA$);
    }
    
    /** Creates a Builder by copying an existing Builder */
    private Builder(org.gel.models.report.avro.CancerInterpretationRequest.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.participantInternalId)) {
        this.participantInternalId = data().deepCopy(fields()[4].schema(), other.participantInternalId);
        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.annotationFile)) {
        this.annotationFile = data().deepCopy(fields()[10].schema(), other.annotationFile);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.otherFiles)) {
        this.otherFiles = data().deepCopy(fields()[11].schema(), other.otherFiles);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.cancerParticipant)) {
        this.cancerParticipant = data().deepCopy(fields()[12].schema(), other.cancerParticipant);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.otherFamilyHistory)) {
        this.otherFamilyHistory = data().deepCopy(fields()[13].schema(), other.otherFamilyHistory);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.genePanelsCoverage)) {
        this.genePanelsCoverage = data().deepCopy(fields()[14].schema(), other.genePanelsCoverage);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.interpretationFlags)) {
        this.interpretationFlags = data().deepCopy(fields()[15].schema(), other.interpretationFlags);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.additionalInfo)) {
        this.additionalInfo = data().deepCopy(fields()[16].schema(), other.additionalInfo);
        fieldSetFlags()[16] = true;
      }
    }
    
    /** Creates a Builder by copying an existing CancerInterpretationRequest instance */
    private Builder(org.gel.models.report.avro.CancerInterpretationRequest other) {
            super(org.gel.models.report.avro.CancerInterpretationRequest.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.participantInternalId)) {
        this.participantInternalId = data().deepCopy(fields()[4].schema(), other.participantInternalId);
        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.annotationFile)) {
        this.annotationFile = data().deepCopy(fields()[10].schema(), other.annotationFile);
        fieldSetFlags()[10] = true;
      }
      if (isValidValue(fields()[11], other.otherFiles)) {
        this.otherFiles = data().deepCopy(fields()[11].schema(), other.otherFiles);
        fieldSetFlags()[11] = true;
      }
      if (isValidValue(fields()[12], other.cancerParticipant)) {
        this.cancerParticipant = data().deepCopy(fields()[12].schema(), other.cancerParticipant);
        fieldSetFlags()[12] = true;
      }
      if (isValidValue(fields()[13], other.otherFamilyHistory)) {
        this.otherFamilyHistory = data().deepCopy(fields()[13].schema(), other.otherFamilyHistory);
        fieldSetFlags()[13] = true;
      }
      if (isValidValue(fields()[14], other.genePanelsCoverage)) {
        this.genePanelsCoverage = data().deepCopy(fields()[14].schema(), other.genePanelsCoverage);
        fieldSetFlags()[14] = true;
      }
      if (isValidValue(fields()[15], other.interpretationFlags)) {
        this.interpretationFlags = data().deepCopy(fields()[15].schema(), other.interpretationFlags);
        fieldSetFlags()[15] = true;
      }
      if (isValidValue(fields()[16], other.additionalInfo)) {
        this.additionalInfo = data().deepCopy(fields()[16].schema(), other.additionalInfo);
        fieldSetFlags()[16] = 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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.Builder clearInternalStudyId() {
      internalStudyId = null;
      fieldSetFlags()[3] = false;
      return this;
    }

    /** Gets the value of the 'participantInternalId' field */
    public java.lang.String getParticipantInternalId() {
      return participantInternalId;
    }
    
    /** Sets the value of the 'participantInternalId' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder setParticipantInternalId(java.lang.String value) {
      validate(fields()[4], value);
      this.participantInternalId = value;
      fieldSetFlags()[4] = true;
      return this; 
    }
    
    /** Checks whether the 'participantInternalId' field has been set */
    public boolean hasParticipantInternalId() {
      return fieldSetFlags()[4];
    }
    
    /** Clears the value of the 'participantInternalId' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearParticipantInternalId() {
      participantInternalId = 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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.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.CancerInterpretationRequest.Builder clearBigWigs() {
      bigWigs = null;
      fieldSetFlags()[9] = 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.CancerInterpretationRequest.Builder setAnnotationFile(org.gel.models.report.avro.File value) {
      validate(fields()[10], value);
      this.annotationFile = value;
      fieldSetFlags()[10] = true;
      return this; 
    }
    
    /** Checks whether the 'annotationFile' field has been set */
    public boolean hasAnnotationFile() {
      return fieldSetFlags()[10];
    }
    
    /** Clears the value of the 'annotationFile' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearAnnotationFile() {
      annotationFile = null;
      fieldSetFlags()[10] = 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.CancerInterpretationRequest.Builder setOtherFiles(java.util.Map value) {
      validate(fields()[11], value);
      this.otherFiles = value;
      fieldSetFlags()[11] = true;
      return this; 
    }
    
    /** Checks whether the 'otherFiles' field has been set */
    public boolean hasOtherFiles() {
      return fieldSetFlags()[11];
    }
    
    /** Clears the value of the 'otherFiles' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearOtherFiles() {
      otherFiles = null;
      fieldSetFlags()[11] = false;
      return this;
    }

    /** Gets the value of the 'cancerParticipant' field */
    public org.gel.models.participant.avro.CancerParticipant getCancerParticipant() {
      return cancerParticipant;
    }
    
    /** Sets the value of the 'cancerParticipant' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder setCancerParticipant(org.gel.models.participant.avro.CancerParticipant value) {
      validate(fields()[12], value);
      this.cancerParticipant = value;
      fieldSetFlags()[12] = true;
      return this; 
    }
    
    /** Checks whether the 'cancerParticipant' field has been set */
    public boolean hasCancerParticipant() {
      return fieldSetFlags()[12];
    }
    
    /** Clears the value of the 'cancerParticipant' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearCancerParticipant() {
      cancerParticipant = null;
      fieldSetFlags()[12] = 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.CancerInterpretationRequest.Builder setOtherFamilyHistory(org.gel.models.report.avro.OtherFamilyHistory value) {
      validate(fields()[13], value);
      this.otherFamilyHistory = value;
      fieldSetFlags()[13] = true;
      return this; 
    }
    
    /** Checks whether the 'otherFamilyHistory' field has been set */
    public boolean hasOtherFamilyHistory() {
      return fieldSetFlags()[13];
    }
    
    /** Clears the value of the 'otherFamilyHistory' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearOtherFamilyHistory() {
      otherFamilyHistory = null;
      fieldSetFlags()[13] = 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.CancerInterpretationRequest.Builder setGenePanelsCoverage(java.util.Map>> value) {
      validate(fields()[14], value);
      this.genePanelsCoverage = value;
      fieldSetFlags()[14] = true;
      return this; 
    }
    
    /** Checks whether the 'genePanelsCoverage' field has been set */
    public boolean hasGenePanelsCoverage() {
      return fieldSetFlags()[14];
    }
    
    /** Clears the value of the 'genePanelsCoverage' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearGenePanelsCoverage() {
      genePanelsCoverage = null;
      fieldSetFlags()[14] = 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.CancerInterpretationRequest.Builder setInterpretationFlags(java.util.List value) {
      validate(fields()[15], value);
      this.interpretationFlags = value;
      fieldSetFlags()[15] = true;
      return this; 
    }
    
    /** Checks whether the 'interpretationFlags' field has been set */
    public boolean hasInterpretationFlags() {
      return fieldSetFlags()[15];
    }
    
    /** Clears the value of the 'interpretationFlags' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearInterpretationFlags() {
      interpretationFlags = null;
      fieldSetFlags()[15] = 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.CancerInterpretationRequest.Builder setAdditionalInfo(java.util.Map value) {
      validate(fields()[16], value);
      this.additionalInfo = value;
      fieldSetFlags()[16] = true;
      return this; 
    }
    
    /** Checks whether the 'additionalInfo' field has been set */
    public boolean hasAdditionalInfo() {
      return fieldSetFlags()[16];
    }
    
    /** Clears the value of the 'additionalInfo' field */
    public org.gel.models.report.avro.CancerInterpretationRequest.Builder clearAdditionalInfo() {
      additionalInfo = null;
      fieldSetFlags()[16] = false;
      return this;
    }

    @Override
    public CancerInterpretationRequest build() {
      try {
        CancerInterpretationRequest record = new CancerInterpretationRequest();
        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.participantInternalId = fieldSetFlags()[4] ? this.participantInternalId : (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.annotationFile = fieldSetFlags()[10] ? this.annotationFile : (org.gel.models.report.avro.File) defaultValue(fields()[10]);
        record.otherFiles = fieldSetFlags()[11] ? this.otherFiles : (java.util.Map) defaultValue(fields()[11]);
        record.cancerParticipant = fieldSetFlags()[12] ? this.cancerParticipant : (org.gel.models.participant.avro.CancerParticipant) defaultValue(fields()[12]);
        record.otherFamilyHistory = fieldSetFlags()[13] ? this.otherFamilyHistory : (org.gel.models.report.avro.OtherFamilyHistory) defaultValue(fields()[13]);
        record.genePanelsCoverage = fieldSetFlags()[14] ? this.genePanelsCoverage : (java.util.Map>>) defaultValue(fields()[14]);
        record.interpretationFlags = fieldSetFlags()[15] ? this.interpretationFlags : (java.util.List) defaultValue(fields()[15]);
        record.additionalInfo = fieldSetFlags()[16] ? this.additionalInfo : (java.util.Map) defaultValue(fields()[16]);
        return record;
      } catch (Exception e) {
        throw new org.apache.avro.AvroRuntimeException(e);
      }
    }
  }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy