<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
   attributeFormDefault="unqualified">
   <xs:element name="ClinVarVariationRelease" type="ReleaseType">
      <xs:annotation>
         <xs:documentation>The element to group each VariationArchive element in the release </xs:documentation>
      </xs:annotation>
   </xs:element>
   <xs:element name="InterpretedRecord">
      <xs:annotation>
         <xs:documentation>This element is restricted to variation records for which an explicit interpretation was submitted.
         Compare to IncludedRecord, which provides aggregate information about variants that are part of another submission, but for
         which ClinVar has *not* received a submission specific to that variant independently. </xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:choice>
               <xs:element name="SimpleAllele" type="typeAllele">
                  <xs:annotation>
                     <xs:documentation> Describes a single sequence change relative to a contiguous region of a chromosome or the mitochondrion. 
                     </xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element maxOccurs="1" minOccurs="1" name="Haplotype" type="typeHaplotype">
                  <xs:annotation>
                     <xs:documentation> Describes multiple sequence changes on one of the chromosomes of a homologous pair or on the mitochondrion.
                     </xs:documentation>
                  </xs:annotation>
               </xs:element>
               <xs:element maxOccurs="1" minOccurs="1" name="Genotype" type="typeGenotype">
                  <xs:annotation>
                     <xs:documentation>Describes the combination of sequence changes on each
                        chromosome of a homologous pair </xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:choice>
            <xs:element name="ReviewStatus" type="typeAggregateReviewStatusValue">
               <xs:annotation>
                  <xs:documentation>The aggregate review status based on all submissions for this record.</xs:documentation>
               </xs:annotation>
            </xs:element>

            <xs:element name="RCVList" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="ClinVarAccession" type="typeRCV" minOccurs="1" maxOccurs="unbounded">
                        <xs:annotation>
                           <xs:documentation>Maintains the list of RCV accessions and their titles referencing the VariationID, in part to
                              support indexing and retrieval for NCBI's web services. This structure does not report RCV/SCV
                              relationships</xs:documentation>
                        </xs:annotation>
                     </xs:element>

                  </xs:sequence>


                  <xs:attribute name="SubmissionCount" type="xs:positiveInteger">
                     <xs:annotation>
                        <xs:documentation>The number of submissions (SCV accessions) referencing the VariationID </xs:documentation>
                     </xs:annotation>
                  </xs:attribute>
                  <xs:attribute name="IndependentObservations" type="xs:positiveInteger">
                    
                  </xs:attribute>

               </xs:complexType>
            </xs:element>
            <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="1"/>
            <xs:element name="ClinicalAssertionList" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="ClinicalAssertion" type="MeasureTraitType" minOccurs="1"
                        maxOccurs="unbounded"> </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="TraitMappingList" minOccurs="0" maxOccurs="1">
                <xs:annotation>
                    <xs:documentation>This element is used to report how each user-submitted trait name was mapped
                        to a MedGen CUI identifier and a preferred name. 
                        The structure may be used in the future to report, when a trait is identified by a source's identifier
                        (e.g. MIM number), the preferred name used by that source at the time of submission.
                        For MappingType XRef, MappingRef is the database name and MappingValue is the database's identifier.
                        For MappingType Name, MappingRef is Alternate or Preferred, and MappingValue is the submitted name of the trait.
                        ClinicalAssertionID is an integer identifier that corresponds 1:1 to the SCV assigned to the submission.
                    </xs:documentation>
                </xs:annotation>
                <xs:complexType>
                    <xs:sequence>
                        <xs:element name="TraitMapping" maxOccurs="unbounded">
                            <xs:complexType>
                                <xs:sequence>
                                    <xs:element name="MedGen">
                                        <xs:complexType>
                                            <xs:attribute name="Name" type="xs:string" use="required"/>
                                            <xs:attribute name="CUI" type="xs:string" use="required"/>
                                        </xs:complexType>
                                    </xs:element>
                                </xs:sequence>
                                <xs:attribute name="ClinicalAssertionID" type="xs:positiveInteger"/>
                                <xs:attribute name="TraitType" type="xs:string"/>
                                <xs:attribute name="MappingType">
                                    <xs:simpleType>
                                       <xs:restriction base="xs:string">
                                          <xs:enumeration value="Name"/>
                                          <xs:enumeration value="XRef"/>
                                       </xs:restriction>
                                    </xs:simpleType>
                                </xs:attribute>
                                <xs:attribute name="MappingValue" type="xs:string"/>
                                <xs:attribute name="MappingRef" type="xs:string"/>
                            </xs:complexType>
                        </xs:element>
                    </xs:sequence>
                </xs:complexType>
            </xs:element>
            <xs:element name="DeletedSCVList" minOccurs="0">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="SCV" type="typeDeletedSCV" minOccurs="1" maxOccurs="unbounded"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="GeneralCitations" minOccurs="0" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="Citation" type="typeCitation" minOccurs="0"
                        maxOccurs="unbounded"/>
                     <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>

      </xs:complexType>
   </xs:element>

   <xs:element name="IncludedRecord">
      <xs:annotation>
         <xs:documentation>This element is used for alleles that were not directly part of a submission but were
            part of a complex submission. They have no direct submitted interpretation, but are being reported for a complete 
            representation of all alleles in ClinVar. Compare to InterpretedRecord.</xs:documentation>
      </xs:annotation>
      <xs:complexType>
         <xs:sequence>
            <xs:choice>
               <xs:element name="SimpleAllele" type="typeAllele"/>
               <xs:element maxOccurs="1" minOccurs="1" name="Haplotype" type="typeHaplotype">
                  <xs:annotation>
                     <xs:documentation>Describes a single sequence change relative to a contiguous region of a chromosome or the mitochondrion. 
                     </xs:documentation>
                  </xs:annotation>
               </xs:element>
            </xs:choice>
            <xs:element name="SubmittedInterpretationList" minOccurs="1" maxOccurs="1">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="SCV" type="typeSCV" minOccurs="1" maxOccurs="unbounded">
                        <xs:annotation>
                           <xs:documentation>Maintains the list of SCV accessions and titles to
                              support indexing and retrieval This structure does not report RCV/SCV
                              relationships</xs:documentation>
                        </xs:annotation>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="InterpretedVariationList" minOccurs="1" maxOccurs="1">

               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="VariationID" type="xs:positiveInteger" minOccurs="1"
                        maxOccurs="unbounded">
                        <xs:annotation>
                           <xs:documentation>Maintains the list of interpreted variants represented in this
                              submission,  although not submitted with an interpretation 
                              independently.</xs:documentation>
                        </xs:annotation>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="GeneralCitations" minOccurs="0" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element name="Citation" type="typeCitation" minOccurs="0"
                        maxOccurs="unbounded"/>
                     <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>



   <xs:simpleType name="typeGeneVariant">
      <xs:restriction base="xs:string">
         <xs:enumeration value="variant within gene"/>
         <xs:enumeration value="gene overlapped by variant"/>
         <xs:enumeration value="variant near gene, upstream"/>
         <xs:enumeration value="variant near gene, downstream"/>
         <xs:enumeration value="asserted, but not computed"/>
         <xs:enumeration value="within multiple genes by overlap"/>
         <xs:enumeration value="within single gene"/>
         <!-- those are here for back-compatibility and should be removed in the future once clinvar_public.xml is updated -->
         <xs:enumeration value="genes overlapped by variant"/>
         <xs:enumeration value="near gene, downstream"/>
         <xs:enumeration value="near gene, upstream"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeSeverity">
      <xs:restriction base="xs:string">
         <xs:enumeration value="mild"/>
         <xs:enumeration value="moderate"/>
         <xs:enumeration value="severe"/>
      </xs:restriction>
   </xs:simpleType>


   <xs:simpleType name="typeStatus">
      <xs:restriction base="xs:string">
         <xs:enumeration value="current"/>
         <xs:enumeration value="completed and retired"/>
         <xs:enumeration value="delete"/>
         <xs:enumeration value="in development"/>
         <xs:enumeration value="reclassified"/>
         <xs:enumeration value="reject"/>
         <xs:enumeration value="secondary"/>
         <xs:enumeration value="suppressed"/>
         <xs:enumeration value="under review"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="typeSubmitterReviewStatusValue">
      <xs:restriction base="xs:string">
         <xs:enumeration value="no assertion provided"/>
         <xs:enumeration value="no assertion criteria provided"/>
         <xs:enumeration value="criteria provided, single submitter"/>
         <xs:enumeration value="reviewed by expert panel"/>
         <xs:enumeration value="practice guideline"/>
 
         <!--The following values are added for backward compatibility from clinvar_public.xsd-->
         <xs:enumeration value="criteria provided, multiple submitters, no conflicts"/>
         <xs:enumeration value="criteria provided, conflicting interpretations"/>
         <xs:enumeration value="classified by single submitter"/>
         <xs:enumeration value="reviewed by professional society"/>
         <xs:enumeration value="not classified by submitter"/>
         <xs:enumeration value="classified by multiple submitters"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeZygosity">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Homozygote"/>
         <xs:enumeration value="SingleHeterozygote"/>
         <xs:enumeration value="CompoundHeterozygote"/>
         <xs:enumeration value="Hemizygote"/>
         <xs:enumeration value="not provided"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeAssertionTypeAttr">
      <xs:restriction base="xs:string">
         <xs:enumeration value="variation to disease"/>
         <xs:enumeration value="variation to included disease"/>
         <xs:enumeration value="variation in modifier gene to disease"/>
         <xs:enumeration value="confers sensitivity"/>
         <xs:enumeration value="confers resistance"/>
         <xs:enumeration value="variant to named protein"/>
      </xs:restriction>
   </xs:simpleType>


   <xs:simpleType name="typeAggregateReviewStatusValue">
      <xs:restriction base="xs:string">
         <xs:enumeration value="no assertion provided"/>
         <xs:enumeration value="no assertion criteria provided"/>
         <xs:enumeration value="criteria provided, single submitter"/>
         <xs:enumeration value="criteria provided, multiple submitters, no conflicts"/>
         <xs:enumeration value="criteria provided, conflicting interpretations"/>
         <xs:enumeration value="reviewed by expert panel"/>
         <xs:enumeration value="practice guideline"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeOrigin">
      <xs:restriction base="xs:string">
         <xs:enumeration value="germline"/>
         <xs:enumeration value="somatic"/>
         <xs:enumeration value="de novo"/>
         <xs:enumeration value="not provided"/>
         <xs:enumeration value="inherited"/>
         <xs:enumeration value="maternal"/>
         <xs:enumeration value="paternal"/>
         <xs:enumeration value="uniparental"/>
         <xs:enumeration value="biparental"/>
         <xs:enumeration value="not-reported"/>
         <xs:enumeration value="tested-inconclusive"/>
         <xs:enumeration value="unknown"/>
         <xs:enumeration value="not applicable"/>
         <xs:enumeration value="experimentally generated"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="typeChromosomeStr">
      <xs:restriction base="xs:string">
         <xs:enumeration value="X"/>
         <xs:enumeration value="Y"/>
         <xs:enumeration value="MT"/>
         <xs:enumeration value="PAR"/>
         <xs:enumeration value="Un"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="typeChromosomeNr">
      <xs:restriction base="xs:int">
         <xs:minInclusive value="1"/>
         <xs:maxInclusive value="22"/>
      </xs:restriction>
   </xs:simpleType>
   <xs:simpleType name="typeChromosome">
      <xs:union memberTypes="typeChromosomeNr typeChromosomeStr"/>
   </xs:simpleType>
   <xs:simpleType name="typeCommentType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="public"/>
         <xs:enumeration value="ConvertedByNCBI"/>
         <xs:enumeration value="MissingFromAssembly"/>
         <xs:enumeration value="GenomicLocationNotEstablished"/>
         <xs:enumeration value="LocationOnGenomeAndProductNotAligned"/>
         <xs:enumeration value="DeletionComment"/>
         <xs:enumeration value="AssemblySpecificAlleleDefinition"></xs:enumeration>
         <xs:enumeration value="AlignmentGapMakesAppearInconsistent"></xs:enumeration>
         <xs:enumeration value="ExplanationOfInterpretation"/>
      </xs:restriction>
   </xs:simpleType>


   <xs:simpleType name="typeNucleotideSequence">
      <xs:restriction base="xs:string">
         <xs:enumeration value="genomic, top-level"/>
         <xs:enumeration value="genomic, RefSeqGene"/>
         <xs:enumeration value="genomic"/>
         <xs:enumeration value="coding"/>
         <xs:enumeration value="non-coding"/>
         <xs:enumeration value="protein"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeProteinSequence">
      <xs:restriction base="xs:string">
         <xs:enumeration value="protein"/>
      </xs:restriction>
   </xs:simpleType>


   <xs:simpleType name="typePhenotypeSet">

      <xs:restriction base="xs:string">
         <xs:enumeration value="Disease"/>
         <xs:enumeration value="DrugResponse"/>
         <xs:enumeration value="Finding"/>
         <xs:enumeration value="PhenotypeInstruction"/>
         <xs:enumeration value="TraitChoice"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeVariationType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Diplotype"/>
         <xs:enumeration value="CompoundHeterozygote"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeEvidencetype">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Genetic"/>
         <xs:enumeration value="Experimental"/>
         <xs:enumeration value="Population"/>
         <xs:enumeration value="Computational"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:complexType name="typeComment">
      <xs:annotation>
         <xs:documentation>A structure to support reporting unformatted content, with type and source specified.</xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="DataSource" type="xs:string"/>
            <xs:attribute name="Type" type="typeCommentType"/>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="typeHGVSExpression">
      <xs:annotation>
         <xs:documentation>A structure to represent an HGVS expression for a nucleotide sequence variant, along with the predicted protein change
            and the predicted molecular consequence. Also used to represent only the protein change if that is all that has been reported.
         </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="NucleotideExpression" type="typeNucleotideSequenceExpression"
            minOccurs="0" maxOccurs="1"/>
         <xs:element name="ProteinExpression" type="typeProteinSequenceExpression" minOccurs="0"
            maxOccurs="1"/>
         <xs:element name="MolecularConsequence" type="typeXref" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="Type" type="typeHGVS" use="required"/>
      <xs:attribute name="Assembly" use="optional"/>
   </xs:complexType>


   <xs:simpleType name="typeInterpretation">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Clinical significance"/>
         <xs:enumeration value="Functional status"/>
         <xs:enumeration value="Association"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:simpleType name="typeMethodlist">
      <xs:restriction base="xs:string">
         <xs:enumeration value="literature only"/>
         <xs:enumeration value="reference population"/>
         <xs:enumeration value="case-control"/>
         <xs:enumeration value="clinical testing"/>
         <xs:enumeration value="in vitro"/>
         <xs:enumeration value="in vivo"/>
         <xs:enumeration value="research"/>
         <xs:enumeration value="curation"/>
         <xs:enumeration value="not provided"/>
         <xs:enumeration value="provider interpretation"/>
         <xs:enumeration value="phenotyping only"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:complexType name="typeHaplotype">
      <xs:annotation>
         <xs:documentation>This is a record of one or more simple alleles on the same chromosome molecule.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="SimpleAllele" type="typeAllele" minOccurs="1" maxOccurs="unbounded"/>
         <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>The preferred representation of the haplotype.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="VariationType" type="typeHaplotypeVariationType" minOccurs="1" maxOccurs="1"/>
         <xs:element name="OtherNameList" type="typeNames" minOccurs="0">
            <xs:annotation>
               <xs:documentation>Names other than 'preferred' used for the haplotype.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HGVSlist" minOccurs="0">
            <xs:annotation>
               <xs:documentation>List of  all the HGVS expressions valid for, or used to submit, a variant.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="HGVS" type="typeHGVSExpression" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="0"/>
         <xs:element name="FunctionalConsequence" type="typeFunctionalConsequence" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="XRefList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="VariationID" type="xs:int" use="required"/>
      <xs:attribute name="NumberOfCopies" type="xs:int" use="required"/>
   </xs:complexType>
   <xs:complexType name="typeHaplotypeSCV">
      <xs:sequence>
         <xs:element name="SimpleAllele" type="typeAlleleSCV" minOccurs="1" maxOccurs="unbounded"/>
         <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1">
           
         </xs:element>
         <xs:element name="OtherNameList" type="typeNames" minOccurs="0">
            <xs:annotation>
               <xs:documentation>Other names used for the haplotype</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="0"/>
         <xs:element name="FunctionalConsequence" type="typeFunctionalConsequence" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="XRefList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="CitationList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" type="typeAttributeSet" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="VariationID" type="xs:int" use="optional"/>
      <xs:attribute name="NumberOfCopies" type="xs:int" default="1"/>
   </xs:complexType>
   <xs:complexType name="typeAttribute">
      <xs:annotation>
         <xs:documentation>The attribute is a general element to represent a defined set of data
            qualified by an enumerated set of types. For each attribute element, the value will be a
            character string and is optional. Source shall be used to store identifiers for supplied
            data from source other than the submitter (e.g. SequenceOntology). The data submitted
            where Type="variation" shall be validated against sequence_alternation in Sequence
            Ontology http://www.sequenceontology.org/. This is to be a generic version of
            AttributeType and should be used with extension when it is used to specify Type and its
            enumerations. </xs:documentation>
      </xs:annotation>
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="integerValue" type="xs:int" use="optional"/>
            <xs:attribute name="dateValue" type="xs:date" use="optional"/>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="typeAlleleDescr">
      <xs:annotation>
         <xs:documentation>This is to be used within co-occurrence set </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Name" type="xs:string"/>
         <xs:element name="RelativeOrientation" minOccurs="0" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="cis"/>
                  <xs:enumeration value="trans"/>
                  <xs:enumeration value="unknown"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="Zygosity" type="typeZygosity" minOccurs="0" maxOccurs="1"/>
         <xs:element name="ClinicalSignificance" type="ClinicalSignificanceType" minOccurs="0" maxOccurs="1" />
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="typeLocation">
      <xs:annotation>
         <xs:documentation>There can be multiple types of location, and the locations may have
            identifiers in other databases </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="CytogeneticLocation" type="xs:string" minOccurs="0" maxOccurs="4">
            <xs:annotation>
               <xs:documentation>Cytogenetic location is maintained independent of sequence
                  location, and can be submitted or computed from the sequence
                  location</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="SequenceLocation" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>Location on a defined sequence, with reference and alternate
                  allele, and start /stop values depending on the specificity with which the variant
                  location is known. The number system of offset 1, and right-justified to be
                  consistent with HGVS location data</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:attribute name="forDisplay" type="xs:boolean" use="optional"/>
               <xs:attribute name="Assembly" type="xs:string" use="required"/>
               <xs:attribute name="Chr" type="typeChromosome" use="required"/>
               <xs:attribute name="Accession" type="xs:string" use="optional"/>
               <xs:attribute name="outerStart" type="xs:nonNegativeInteger" use="optional"/>
               <xs:attribute name="innerStart" type="xs:nonNegativeInteger" use="optional"/>
               <xs:attribute name="start" type="xs:nonNegativeInteger" use="optional"/>
               <xs:attribute name="stop" type="xs:positiveInteger" use="optional"/>
               <xs:attribute name="innerStop" type="xs:positiveInteger" use="optional"/>
               <xs:attribute name="outerStop" type="xs:positiveInteger" use="optional"/>
               <xs:attribute name="display_start" type="xs:nonNegativeInteger" use="optional"/>
               <xs:attribute name="display_stop" type="xs:positiveInteger" use="optional"/>
               <xs:attribute name="Strand" type="xs:string" use="optional"/>
               <xs:attribute name="variantLength" type="xs:positiveInteger" use="optional"/>
               <xs:attribute name="referenceAllele" type="xs:string" use="optional"/>
               <xs:attribute name="alternateAllele" type="xs:string" use="optional"/>
               <xs:attribute name="AssemblyAccessionVersion" type="xs:string" use="optional"/>
               <xs:attribute name="AssemblyStatus" use="optional">
                  <xs:simpleType>
                     <xs:restriction base="xs:string">
                        <xs:enumeration value="current"/>
                        <xs:enumeration value="previous"/>
                     </xs:restriction>
                  </xs:simpleType>
               </xs:attribute>
               <xs:attribute name="positionVCF" type="xs:nonNegativeInteger" use="optional" />
               <xs:attribute name="referenceAlleleVCF" type="xs:string" use="optional" />
               <xs:attribute name="alternateAlleleVCF" type="xs:string" use="optional" />
               <xs:attribute name="forDisplayLength" type="xs:boolean" use="optional" />
            </xs:complexType>
         </xs:element>
         <xs:element name="GeneLocation" type="xs:string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>The location of the variant relative to features within the
                  gene</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="typeAllele">
      <xs:annotation>
         <xs:documentation>This is a record per variant (Measure/@ID,AlleleID)</xs:documentation>
      </xs:annotation>
      <xs:sequence>

         <xs:element name="GeneList" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>0 to many genes (and related data ) related to the allele being
                  reported. </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Gene" minOccurs="0" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="Location" type="typeLocation" minOccurs="0"/>
                           <xs:element name="OMIM" type="xs:positiveInteger" minOccurs="0"
                              maxOccurs="unbounded">
                             </xs:element>
                           <xs:element name="Haploinsufficiency" minOccurs="0" maxOccurs="1">               
                              <xs:complexType>
                                 <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                       <xs:attribute name="last_evaluated" type="xs:date"
                                          use="optional"/>
                                       <xs:attribute name="ClinGen" type="xs:anyURI" use="optional"
                                       />
                                    </xs:extension>
                                 </xs:simpleContent>
                              </xs:complexType>
                           </xs:element>
                           <xs:element name="Triplosensitivity" minOccurs="0" maxOccurs="1">
                            
                              <xs:complexType>
                                 <xs:simpleContent>
                                    <xs:extension base="xs:string">
                                       <xs:attribute name="last_evaluated" type="xs:date"
                                          use="optional"/>
                                       <xs:attribute name="ClinGen" type="xs:anyURI" use="optional"
                                       />
                                    </xs:extension>
                                 </xs:simpleContent>
                              </xs:complexType>
                           </xs:element>
                           <xs:element name="Property" type="xs:string" minOccurs="0"
                              maxOccurs="unbounded">
                              <xs:annotation>
                                 <xs:documentation>Used to set key words for retrieval or display
                                    about a gene, such as genes listed by the ACMG
                                    guidelines.</xs:documentation>
                              </xs:annotation>
                           </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Symbol" use="optional"/>
                        <xs:attribute name="FullName" type="xs:string" use="required">
                          
                        </xs:attribute>
                        <xs:attribute name="GeneID" type="xs:positiveInteger" use="required"/>
                        <xs:attribute name="HGNC_ID" type="xs:string" use="optional"/>
                        <xs:attribute name="Source" type="xs:string" use="required">
                           <xs:annotation>
                              <xs:documentation>calculated or submitted</xs:documentation>
                           </xs:annotation>
                        </xs:attribute>
                        <xs:attribute name="RelationshipType" type="typeGeneVariant" use="optional"
                        />
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attribute name="GeneCount" type="xs:int" use="optional"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="Name" type="xs:string">
           
         </xs:element>
         <xs:element name="VariantType" type="xs:string" minOccurs="0">
                    </xs:element>

         <xs:element name="Location" type="typeLocation" minOccurs="0"/>

         <xs:element name="OtherNameList" type="typeNames" minOccurs="0">
         </xs:element>
         <xs:element name="ProteinChange" type="xs:string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>These are the single-letter representations of the protein change.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="HGVSlist" minOccurs="0">
           
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="HGVS" type="typeHGVSExpression" minOccurs="0"
                     maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="0"/>
         <xs:element name="XRefList" minOccurs="0">
             <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="FunctionalConsequence" type="typeFunctionalConsequence" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="AlleleFrequencyList" minOccurs="0">
          
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="AlleleFrequency" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:attribute name="Value" type="xs:double"/>
                        <xs:attribute name="Type" type="xs:string"/>
                        <xs:attribute name="MinorAllele" type="xs:string" use="optional"/>
                        <xs:attribute name="URL" type="xs:anyURI" use="optional"/>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="GlobalMinorAlleleFrequency" minOccurs="0" maxOccurs="1">
            <xs:complexType>
               <xs:attribute name="Value" type="xs:double"/>
               <xs:attribute name="Type" type="xs:string"/>
               <xs:attribute name="MinorAllele" type="xs:string" use="optional"/>
               <xs:attribute name="URL" type="xs:anyURI" use="optional"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="SuspectList" minOccurs="0">
            <xs:annotation>
               <xs:documentation>Variant call calculated by dbSNP to be suspect because of
                  paralogy</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Suspect" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="Value" type="xs:string"/>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="AlleleID" type="xs:int" use="required"/>
      <xs:attribute name="VariationID" type="xs:positiveInteger" use="required"/>
   </xs:complexType>
   <xs:complexType name="typeAlleleSCV">
      <xs:annotation>
         <xs:documentation>This is a record per variant (Measure/@ID,AlleleID) as submitted for accessioning in an SCV</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="GeneList" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>0 to many genes (and related data ) related to the allele being
                  reported. </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Gene" minOccurs="0" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="Name" type="xs:string" minOccurs="0"/>
                           <xs:element name="Property" type="xs:string" minOccurs="0"
                              maxOccurs="unbounded">
                              <xs:annotation>
                                 <xs:documentation>Used to set key words for retrieval or display
                                    about a gene, such as genes listed by the ACMG
                                    guidelines.</xs:documentation>
                              </xs:annotation>
                           </xs:element>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded">
                              <xs:annotation>
                                 <xs:documentation>Used for gene specific identifiers such as MIM
                                    number, Gene ID, HGNC ID, etc.</xs:documentation>
                              </xs:annotation>
                           </xs:element>
                        </xs:sequence>
                        <xs:attribute name="Symbol" use="optional"/>
                        <xs:attribute name="RelationshipType" type="typeGeneVariant" use="optional"/>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Name" minOccurs="0" maxOccurs="unbounded">

            <xs:complexType>
               <xs:annotation>
                  <xs:documentation>Name provided by the submitter.</xs:documentation>
               </xs:annotation>
               <xs:simpleContent>
                  <xs:extension base="xs:string">
                     <xs:attribute name="Type" type="xs:string"/>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element>
         
         <xs:element name="VariantType" type="xs:string" minOccurs="0"/>  
         <xs:element name="Location" type="typeLocation" minOccurs="0"/>
         <xs:element name="OtherNameList" type="typeNames" minOccurs="0"/>
         <xs:element name="ProteinChange" type="xs:string" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>Single letter representation of the amino acid change and its location.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="XRefList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="CitationList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
           <xs:element name="MolecularConsequenceList" minOccurs="0">
            <xs:annotation>
               <xs:documentation>Currently redundant with the MolecularConsequence element of 
                  the HGVS element?</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="MolecularConsequence" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                           <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
                           <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
                        </xs:sequence>
                        <xs:attribute name="RS" type="xs:positiveInteger" use="optional"/>
                        <!-- optional because will calculate consequence from HGVS-->
                        <xs:attribute name="HGVS" type="xs:string" use="optional"/>
                        <xs:attribute name="SOid" type="xs:string" use="optional"/>
                        <xs:attribute name="Function" type="xs:string">
                        </xs:attribute>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="FunctionalConsequence" type="typeFunctionalConsequence" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" type="typeAttributeSet" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="AlleleID" type="xs:int" use="optional"/>
   </xs:complexType>


   <xs:complexType name="typeGenotype">
      <xs:annotation>
         <xs:documentation>Used to report genotypes, be they simple or complex
            diplotypes.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice minOccurs="1" maxOccurs="unbounded">
           <xs:element name="SimpleAllele" type="typeAllele" minOccurs="1" maxOccurs="1">
             <xs:annotation>
               <xs:documentation> Describes a single sequence change relative to a contiguous region of a chromosome or the mitochondrion.
               </xs:documentation>
             </xs:annotation>
           </xs:element>
           <xs:element name="Haplotype" type="typeHaplotype" minOccurs="1" maxOccurs="1">
              <xs:annotation>
                 <xs:documentation>Allow more than 2 haplotypes per genotype to support representation
                    of ploidy.</xs:documentation>
              </xs:annotation>
           </xs:element>
         </xs:choice>
         <xs:element name="Name" type="xs:string" minOccurs="1" maxOccurs="1"/>
         <xs:element name="VariationType" type="typeVariationType" minOccurs="1" maxOccurs="1"/>
         
         <xs:element name="HGVSlist" minOccurs="0">
            
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="HGVS" type="typeHGVSExpression" minOccurs="0"
                     maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="FunctionalConsequence" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"
                  />
               </xs:sequence>
               <xs:attribute name="Value" type="xs:string" use="required"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="XRefList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="CitationList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" type="typeAttributeSet" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="VariationID" type="xs:int" use="required"/>
   </xs:complexType>

   <xs:complexType name="typeXref">
      <xs:annotation>
         <xs:documentation>This structure is used to represent how an object described in the
            submission relates to objects in other databases.</xs:documentation>
      </xs:annotation>
      <xs:attribute name="DB" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>The name of the database. When there is an overlap with sequence
               databases, that name is used.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="ID" type="xs:string" use="required">
         <xs:annotation>
            <xs:documentation>The identifier used by the database. Being exported as a string even
               though internally the database has rules for defining which datases use integer
               identifers.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="Type" type="xs:string" use="optional">
         <xs:annotation>
            <xs:documentation>Used to differentiate between different types of identifiers that a
               database may provide.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="URL" type="xs:anyURI" use="optional"/>
      <xs:attribute name="Status" type="typeStatus" use="optional" default="current"/>
   </xs:complexType>
   <xs:complexType name="SubmitterType">
      <xs:annotation>
         <xs:documentation>A structure to support reporting the name of a submitter, its
            organization id, and its abbreviation and type</xs:documentation>
      </xs:annotation>
      <xs:attributeGroup ref="SubmitterIdentifiers"/>
	<xs:attribute name="Type" use="required">
		<xs:simpleType>
			<xs:restriction base="xs:string">
				<xs:enumeration value="primary"/>
				<xs:enumeration value="secondary"/>
				<xs:enumeration value="behalf"/>
			</xs:restriction>
		</xs:simpleType>
	</xs:attribute>
   </xs:complexType>

 
   <xs:complexType name="typeNames">
         <xs:sequence>
            <xs:element name="Name" nillable="false" maxOccurs="unbounded">
               <xs:complexType>
                  <xs:simpleContent>
                     <xs:extension base="xs:string">
                        <xs:attribute name="Type" type="xs:string" use="optional"/>
                     </xs:extension>
                  </xs:simpleContent>
               </xs:complexType>
            </xs:element>
      </xs:sequence>
   </xs:complexType>


   <xs:simpleType name="typeHGVS">
      <xs:restriction base="xs:string">
         <xs:enumeration value="coding"/>
         <xs:enumeration value="genomic"/>
         <xs:enumeration value="genomic, top-level"/>
         <xs:enumeration value="non-coding"/>
         <xs:enumeration value="protein"/>
      </xs:restriction>
   </xs:simpleType>

   <xs:complexType name="typeEvidenceObservation">
      <xs:sequence>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="Method" type="typeMethodRefs">
            <xs:annotation>
               <xs:documentation>Method of data capture, not method of evaluation.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="ModeOfInheritance" minOccurs="0" maxOccurs="unbounded" type="xs:string"/>
         <xs:element name="CitationList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Description" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="ObservedPhenotypes" type="PhenotypeListDetailsType" minOccurs="0"/>
         <xs:element name="Indications" type="IndicationListType" minOccurs="0"/>
      </xs:sequence>
      <xs:attributeGroup ref="SubmitterIdentifiers"/>
      <xs:attribute name="Families">
       
      </xs:attribute>
      <xs:attribute name="Individuals">
       
      </xs:attribute>
      <xs:attribute name="Segregation">
     
      </xs:attribute>
      <xs:attribute name="OtherGene">
        
      </xs:attribute>
      <xs:attribute name="SameGene">
       
      </xs:attribute>
      <xs:attribute name="Type" type="typeEvidencetype" use="required"/>
      <xs:attribute name="AlleleFrequency" type="xs:string"/>
      <xs:attribute name="AlleleOrigin" type="typeOrigin"/>
      <xs:attribute name="AlleleOriginTimesObserved" type="xs:int"/>
      <xs:attribute name="Ethnicity" type="xs:string"/>
      <xs:attribute name="GeographicOrigin" type="xs:string"/>
   </xs:complexType>
   <xs:complexType name="typeCitation">
      <xs:sequence>
         <xs:element name="ID" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="xs:string">
                     <xs:attribute name="Source" type="xs:string" use="required">
                        <xs:annotation>
                           <xs:documentation>If there is an identifier, what database provides
                              it.</xs:documentation>
                        </xs:annotation>
                     </xs:attribute>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element>
         <xs:element name="URL" type="xs:anyURI" minOccurs="0" maxOccurs="1"/>
         <xs:element name="CitationText" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="Type" type="xs:string" use="optional">
         <xs:annotation>
            <xs:documentation>This maintained distinct from publication types in PubMed and
               established by GTR curators. The default is 'general'.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="Abbrev" type="xs:string" use="optional">
         <xs:annotation>
            <xs:documentation>Corresponds to the abbreviation reported by GTR.</xs:documentation>
         </xs:annotation>
      </xs:attribute>
   </xs:complexType>

   <xs:complexType name="typeNucleotideSequenceExpression">
      <xs:sequence>
         <xs:element name="Expression" type="xs:string"/>

      </xs:sequence>
      <xs:attribute name="sequenceType" type="typeNucleotideSequence"/>
      <xs:attribute name="sequenceAccessionVersion" use="optional"/>
      <xs:attribute name="sequenceAccession" use="optional"/>
      <xs:attribute name="sequenceVersion" use="optional"/>
      <xs:attribute name="change" use="optional"/>
      <xs:attribute name="Assembly" use="optional"/>
      <xs:attribute name="Submitted" use="optional"/>

   </xs:complexType>

   <xs:complexType name="typeProteinSequenceExpression">
      <xs:sequence>
         <xs:element name="Expression" type="xs:string"/>

      </xs:sequence>
      <xs:attribute name="sequenceAccessionVersion" use="optional"/>
      <xs:attribute name="sequenceAccession" use="optional"/>
      <xs:attribute name="sequenceVersion" use="optional"/>
      <xs:attribute name="change" use="optional"/>

   </xs:complexType>


   <xs:complexType name="typeConditionList">
      <xs:sequence>
         <xs:element name="Condition" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRefList" minOccurs="0">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attribute name="Name" type="xs:string" use="required"/>
               <xs:attribute name="target_id" type="xs:int" use="required"/>
            </xs:complexType>
         </xs:element>

      </xs:sequence>
   </xs:complexType>


   <xs:complexType name="PhenotypeListDetailsType">
      <xs:sequence>
         <xs:element name="Phenotype" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRefList" minOccurs="0">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attribute name="Name" type="xs:string" use="required"/>
               <xs:attribute name="target_id" type="xs:int" use="required"/>
               <xs:attribute name="AffectedStatus" type="xs:string" use="optional"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="PhenotypeDetails" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>The set of descriptors and values for person-specific phenotype
                  information.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRefList" minOccurs="0">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attributeGroup ref="SubmitterIdentifiers"/>
               <xs:attribute name="Type" type="xs:string" use="required">
                  <xs:annotation>
                     <xs:documentation>Type is used to separate biochemical tests from clinical
                        features with attributes.</xs:documentation>
                  </xs:annotation>
               </xs:attribute>
               <xs:attribute name="PersonID" type="xs:string" use="required"/>
               <xs:attribute name="DateEvaluated" type="xs:date" use="optional"/>
               <xs:attribute name="PhenotypeName" type="xs:string" use="optional"/>
               <xs:attribute name="AffectedStatus" type="xs:string" use="optional"/>
               <xs:attribute name="LOINC" type="xs:string" use="optional"/>
               <xs:attribute name="ObservedValue" type="xs:string" use="optional"/>
               <xs:attribute name="Interpretation" type="xs:string" use="optional"/>
               <xs:attribute name="SourceLaboratory" type="xs:string" use="optional"/>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="PhenotypeSetType" type="typePhenotypeSet"/>
   </xs:complexType>

   <xs:complexType name="IndicationListType">
      <xs:sequence>
         <xs:element name="Indication" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>The indication may be a set of phenotypic
                  descriptions.</xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRefList" minOccurs="0">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attribute name="Name" type="xs:string" use="required"/>
               <xs:attribute name="target_id" type="xs:int" use="required"/>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
      <xs:attribute name="PhenotypeSetType" type="typePhenotypeSet"/>
   </xs:complexType>
   <xs:complexType name="PharmaType">
      <xs:sequence>
         <xs:element name="DrugResponse" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="PhenotypeList" type="PhenotypeListDetailsType" minOccurs="0"/>
                  <xs:element name="XRefList" minOccurs="0">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
               <xs:attribute name="Name" type="xs:string" use="required"/>
               <xs:attribute name="target_id" type="xs:int" use="optional"/>
            </xs:complexType>
         </xs:element>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="typeMethodRefs">
      <xs:sequence>
         <xs:element name="MethodName" type="xs:string" minOccurs="1" maxOccurs="1"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
 

   <xs:complexType name="typeSample">
      <xs:sequence>
         <xs:element name="SampleDescription" minOccurs="0" maxOccurs="1">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Description" type="typeComment" minOccurs="0" maxOccurs="1"/>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="1"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Origin" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="germline"/>
                  <xs:enumeration value="somatic"/>
                  <xs:enumeration value="de novo"/>
                  <xs:enumeration value="unknown"/>
                  <xs:enumeration value="not provided"/>
                  <xs:enumeration value="inherited"/>
                  <xs:enumeration value="maternal"/>
                  <xs:enumeration value="paternal"/>
                  <xs:enumeration value="uniparental"/>
                  <xs:enumeration value="biparental"/>
                  <xs:enumeration value="not-reported"/>
                  <xs:enumeration value="tested-inconclusive"/>
                  <xs:enumeration value="not applicable"/>
                  <xs:enumeration value="experimentally generated"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="Ethnicity" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="GeographicOrigin" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Tissue" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="CellLine" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Species" minOccurs="0" maxOccurs="1">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="xs:string">
                     <xs:attribute name="TaxonomyId" type="xs:int" use="optional"/>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element>
         <xs:element name="Age" minOccurs="0" maxOccurs="2">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="xs:int">
                     <xs:attribute name="age_unit" use="required">
                        <xs:simpleType>
                           <xs:restriction base="xs:string">
                              <xs:enumeration value="days"/>
                              <xs:enumeration value="weeks"/>
                              <xs:enumeration value="months"/>
                              <xs:enumeration value="years"/>
                              <xs:enumeration value="weeks gestation"/>
                              <xs:enumeration value="months gestation"/>
                           </xs:restriction>
                        </xs:simpleType>
                     </xs:attribute>
                     <xs:attribute name="Type" use="required">
                        <xs:simpleType>
                           <xs:restriction base="xs:string">
                              <xs:enumeration value="minimum"/>
                              <xs:enumeration value="maximum"/>
                              <xs:enumeration value="single"/>
                           </xs:restriction>
                        </xs:simpleType>
                     </xs:attribute>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element>
         <xs:element name="Strain" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="AffectedStatus" minOccurs="1" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="yes"/>
                  <xs:enumeration value="no"/>
                  <xs:enumeration value="not provided"/>
                  <xs:enumeration value="unknown"/>
                  <xs:enumeration value="not applicable"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="NumberTested" type="xs:int" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Denominator, total individuals included in this observation
                  set.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberMales" type="xs:int" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Denominator, total males included in this observation
                  set.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberFemales" type="xs:int" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Denominator, total females included in this observation
                  set.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="NumberChrTested" type="xs:int" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Denominator, total number chromosomes tested. Number affected and
                  unaffected are captured in the element NumberObserved.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Gender" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Gender should be used ONLY if explicit values are not available for
                  number of males or females, and there is a need to indicate that the genders in
                  the sample are known. </xs:documentation>
            </xs:annotation>
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="male"/>
                  <xs:enumeration value="female"/>
                  <xs:enumeration value="mixed"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="FamilyData" type="FamilyInfo" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Proband" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element maxOccurs="1" minOccurs="0" name="Indication" type="IndicationType"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="SourceType" minOccurs="0" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="submitter-generated"/>
                  <xs:enumeration value="data mining"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="FamilyInfo">
      <xs:annotation>
         <xs:documentation>Structure to describe attributes of any family data in an observation. If
            the details of the number of families and the de-identified pedigree id are not
            available, use FamilyHistory to describe what type of family data is available. Can also
            be used to report 'Yes' or 'No' if there are no more details. </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="FamilyHistory" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="NumFamilies" type="xs:int" use="optional"/>
      <xs:attribute name="NumFamiliesWithVariant" type="xs:int" use="optional"/>
      <xs:attribute name="NumFamiliesWithSegregationObserved" type="xs:int" use="optional"/>
      <xs:attribute name="PedigreeID" type="xs:string" use="optional"/>
      <xs:attribute name="SegregationObserved" type="xs:string" use="optional"/>
   </xs:complexType>

   <xs:complexType name="typeSoftwareSet">
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="version" type="xs:string" use="optional"/>
      <xs:attribute name="purpose" type="xs:string" use="optional"/>
   </xs:complexType>

   <xs:complexType name="typeSingleInterpretation">
      <xs:sequence>
         <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>We are not providing an enumeration for the values we report for
                  clinical significance within the xsd. The values are maintained here:
                  ftp://ftp.ncbi.nlm.nih.gov/pub/GTR/standard_terms/Clinical_significance.txt.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Explanation" type="typeComment" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Explanation is used only when the description is 'conflicting data
                  from submitters' The element summarizes the conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="DateLastEvaluated" type="xs:date" use="optional"/>
      <xs:attribute name="AlleleOrigin" type="xs:string" use="optional" default="germline"/>
      <xs:attribute name="Type" type="typeInterpretation" use="optional"/> <!--missing change required to optional-->
   </xs:complexType>


   <xs:complexType name="typeAggregatedInterpretationSet">
      <xs:annotation>
         <xs:documentation>Used to bundle different types of interpretation (benign , somatic??) ; Clinical significance
            with assertion criteria, clinical significance without, reported effects, other.
            Supports summary as well as submission details</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Interpretation" type="typeAggregatedInterpretation" minOccurs="1"
            maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="typeAggregatedInterpretation">
      <xs:complexContent>
         <xs:extension base="typeSingleInterpretation">
            <xs:sequence>
               <xs:element name="DescriptionHistory" type="typeDescriptionHistory" minOccurs="0"
                  maxOccurs="unbounded"/>

               <xs:element name="ConditionList" type="typeConditionList" minOccurs="0"/>
            </xs:sequence>
            <xs:attribute name="NumberOfSubmitters" type="xs:nonNegativeInteger" use="required"/>
            <xs:attribute name="NumberOfSubmissions" type="xs:nonNegativeInteger" use="required"/>
         </xs:extension>

      </xs:complexContent>

   </xs:complexType>



   <xs:complexType name="typeDescriptionHistory">
      <xs:sequence>
         <xs:element name="Description" type="xs:string" minOccurs="1" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="Dated" type="xs:date" use="optional"/>
   </xs:complexType>
   <xs:complexType name="typeRCV">
            <xs:attribute name="Title" type="xs:string" use="optional"/>
            <xs:attribute name="DateLastEvaluated" type="xs:date" use="optional"/>
            <xs:attribute name="InterpretedCondition" type="xs:string" use="required"/>
            <xs:attribute name="Interpretation" type="xs:string" use="optional"/>
            <xs:attribute name="SubmissionCount" type="xs:positiveInteger" use="required"/>
            <xs:attribute name="ReviewStatus" type="xs:string" use="required"/>
            <xs:attribute name="Accession" type="xs:string" use="required"/>
            <xs:attribute name="Version" type="xs:integer" use="required"/>
   </xs:complexType>
   <xs:complexType name="typeSCV">
      <xs:simpleContent>
         <xs:extension base="xs:string">
            <xs:attribute name="Title" type="xs:string" use="optional"/>
         </xs:extension>
      </xs:simpleContent>
   </xs:complexType>

   <xs:complexType name="typeFunctionalConsequence">
      <xs:sequence>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Value" type="xs:string" use="required"/>
   </xs:complexType>


  
   <xs:complexType name="VariationArchiveType">
      <xs:annotation>
         <xs:documentation> This element groups the set of data specific to a VariationArchive 
            record, namely the summary data of what has been submitted about a VariationID AND
            for Interpreted records only, the content each submission (SCV) provided. 
         </xs:documentation>
      </xs:annotation>
               <xs:sequence>
                  <xs:element name="RecordStatus" default="current" minOccurs="1" maxOccurs="1">
                     <xs:simpleType>
                        <xs:restriction base="xs:string">
                           <xs:enumeration value="current"/>
                           <xs:enumeration value="replaced"/>
                           <xs:enumeration value="removed"/>
                        </xs:restriction>

                     </xs:simpleType>
                  </xs:element>
                  <xs:element name="ReplacedBy" type="typeRecordHistory" minOccurs="0" maxOccurs="1"/>
                  <xs:element name="ReplacedList" minOccurs="0">
                     <xs:annotation>
                        <xs:documentation> The list of VCV accessions this record has replaced.
                        </xs:documentation>
                     </xs:annotation>
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="Replaced" type="typeRecordHistory" minOccurs="1" maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="DeletionComment" type="typeComment" minOccurs="0" maxOccurs="1"/>
                  <xs:element name="Species" minOccurs="1" maxOccurs="1">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="xs:string">
                              <xs:attribute name="TaxonomyId" type="xs:int" use="optional"/>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>

                  <xs:choice>
                     <xs:element ref="InterpretedRecord" minOccurs="1" maxOccurs="1">
                        <xs:annotation>
                           <xs:documentation> This element describes the interpretation of a single
                              allele, haplotype, or genotype based on all submissions to ClinVar.
                              This differs from the element IncludedRecord, which describes simple
                              alleles or haplotypes, referenced in InterpretedRecord, but for which
                              no explicit interpretation was submitted. Once that variation is
                              described, details are added about the phenotypes being interpreted,
                              the intepretation, the submitters providing the intepretations, and
                              all supported evidence.</xs:documentation>
                        </xs:annotation>
                     </xs:element>
                     <xs:element ref="IncludedRecord" minOccurs="1" maxOccurs="1">
                        <xs:annotation>
                           <xs:documentation> This element describes a single allele or haplotype
                              included in submissions to ClinVar, but for which no explicit
                              interpretation was submitted. It also references the submissions and
                              the Interpreted records that include them. </xs:documentation>
                        </xs:annotation>
                     </xs:element>
                  </xs:choice>
               </xs:sequence>
               <xs:attribute name="VariationID" type="xs:positiveInteger" use="required"/>
               <xs:attribute name="VariationName" type="xs:string">
                  <xs:annotation>
                     <xs:documentation>This is ClinVar's name for the variant. ClinVar uses this term in its web displays.
                     </xs:documentation>
                  </xs:annotation>
               </xs:attribute>
               <xs:attribute name="VariationType" type="xs:string" use="required"/>
               <xs:attribute name="DateCreated" type="xs:date" use="required"/>
               <xs:attribute name="DateLastUpdated" type="xs:date" use="optional"/>
               <xs:attribute name="Accession" type="xs:string" use="required"/>
               <xs:attribute name="Version" type="xs:int" use="required"/>
               <xs:attribute name="NumberOfSubmitters" type="xs:nonNegativeInteger" use="required"/>
               <xs:attribute name="NumberOfSubmissions" type="xs:nonNegativeInteger" use="required"/>
               <xs:attribute name="RecordType" type="xs:string" use="required"/>
   </xs:complexType>
   
   
   <xs:complexType name="ReleaseType">
      <xs:sequence>
         <xs:element name="VariationArchive" type="VariationArchiveType" minOccurs="1" maxOccurs="unbounded" />
      </xs:sequence>
      <xs:attribute name="ReleaseDate" type="xs:date" use="required"/>
   </xs:complexType>

 <xs:element name="VariationArchive" type="VariationArchiveType" >
    <xs:annotation>
       <xs:documentation>Retained as a separate element for internal use by ClinVar.</xs:documentation>
    </xs:annotation>
    
 </xs:element>
   <xs:complexType name="Co-occurrenceType">
      <xs:sequence>
         <xs:annotation>
            <xs:documentation>This refers to the zygosity of the variant being
               asserted.</xs:documentation>
         </xs:annotation>
         <xs:element name="Zygosity" type="typeZygosity" minOccurs="0" maxOccurs="1"/>
         <xs:element name="AlleleDescSet" type="typeAlleleDescr" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Count" type="xs:int" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:complexType>

   <xs:complexType name="typeDeletedSCV">
      <xs:annotation>
         <xs:documentation>A structure to support reporting of an accession, its version, the date it was deleted 
            and a free-text summary of why it was deleted.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Accession" minOccurs="1" maxOccurs="1">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="xs:string">
                     <xs:attribute name="Version" type="xs:nonNegativeInteger" use="required"/>
                     <xs:attribute name="DateDeleted" type="xs:date" use="required"/>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element> 
         <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
   </xs:complexType>
   
   <xs:complexType name="MeasureTraitType">
      <xs:sequence>
         <xs:element name="ClinVarSubmissionID" minOccurs="1" maxOccurs="1">
            <xs:complexType>

               <xs:attribute name="localKey" type="xs:string" use="required">
                  <xs:annotation>
                     <xs:documentation>The identifier provided by the submitter to facilitate identification of
                        records corresponding to their submissions. If not provided by a submitter,
                        NCBI generates one. If provided by submitter, that is represented in
                        localKeyIsSubmitted. </xs:documentation>
                  </xs:annotation>
               </xs:attribute>
               <xs:attribute name="title" type="xs:string" use="optional"/>
               <xs:attribute name="localKeyIsSubmitted" use="optional"/>
               <xs:attribute name="submittedAssembly" type="xs:string" use="optional"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="ClinVarAccession" minOccurs="1" maxOccurs="1">
            <xs:complexType>
               <xs:attribute name="Acc" type="xs:string" use="required"/>
               <xs:attribute name="Version" type="xs:integer" use="required"/>
               <xs:attribute name="Type" use="required">
                  <xs:annotation>
                     <xs:documentation>RCV accessions aggregate data from each submission. Each
                        submission is assigned an accession of beginning with 'SCV'
                     </xs:documentation>
                  </xs:annotation>
                  <xs:simpleType>
                     <xs:restriction base="xs:string">
                        <xs:enumeration value="RCV"/>
                        <xs:enumeration value="SCV"/>
                     </xs:restriction>
                  </xs:simpleType>
               </xs:attribute>
               <xs:attribute name="OrgID" type="xs:int" use="optional"/>
               <xs:attribute name="OrgAbbreviation" type="xs:string" use="optional"/>
               <xs:attribute name="DateUpdated" type="xs:date"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="AdditionalSubmitters" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation>Optional element used only if there are multiple submitters. When
                  there are multiple, each is listed in this element. </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="SubmitterDescription" type="SubmitterType" minOccurs="1"
                     maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="RecordStatus" default="current" minOccurs="1" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="current"/>
                  <xs:enumeration value="replaced"/>
                  <xs:enumeration value="removed"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="ReviewStatus" type="typeSubmitterReviewStatusValue" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Interpretation" type="typeSingleInterpretation" minOccurs="1"/>
         <xs:element name="CustomAssertionScore" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation> Used to represent the scoring matrix a submitter may use to
                  evaluate clinical signficance. </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
               <xs:attribute name="Type" type="xs:string" use="required"/>
               <xs:attribute name="Value" type="xs:string" use="optional"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="Assertion" type="typeAssertionTypeAttr"/>
         <xs:element name="AttributeSet" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>AttributeSet is a package to represent a unit of information, the
                  source(s) of that unit, identifiers representing that unit, and comments.
               </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" use="required">
                                 <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                       <xs:enumeration value="ModeOfInheritance"/>
                                       <xs:enumeration value="Penetrance"/>
                                       <xs:enumeration value="AgeOfOnset"/>
                                       <xs:enumeration value="Severity"/>
                                       <xs:enumeration value="ClinicalSignificanceHistory"/>
                                       <xs:enumeration value="SeverityDescription"/>
                                       <xs:enumeration value="AssertionMethod"/>
                                     </xs:restriction>
                                 </xs:simpleType>
                              </xs:attribute>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"
                  />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="ObservedInList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="ObservedIn" type="ObservationSet" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>

         <xs:choice>
            <xs:element maxOccurs="1" minOccurs="1" name="SimpleAllele" type="typeAlleleSCV">
              
            </xs:element>
            <xs:element maxOccurs="1" minOccurs="1" name="Haplotype" type="typeHaplotypeSCV">
              
            </xs:element>
            <xs:element maxOccurs="1" minOccurs="1" name="Genotype" type="typeGenotypeSCV">
          
            </xs:element>
         </xs:choice>
         <xs:element name="TraitSet" type="ClinAsserTraitSetType" minOccurs="1" maxOccurs="1"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="StudyName" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="StudyDescription" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="DateCreated" type="xs:date">
        <xs:annotation>
            <xs:documentation>
              DateCreated is when ClinVar processed the submission and created the records.
            </xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="DateLastUpdated" type="xs:date">
         <xs:annotation>
            <xs:documentation>A modification date is independent of a version change. Content
               generated by NCBI may change without representing a change in the version.
            </xs:documentation>
         </xs:annotation>
      </xs:attribute>
      <xs:attribute name="SubmissionDate" type="xs:date">
         <xs:annotation>
            <xs:documentation>
              SubmissionDate is when ClinVar received the submission.
            </xs:documentation>
         </xs:annotation>
      </xs:attribute>  
      <xs:attribute name="SubmissionName" type="xs:string" use="optional"/>
      <xs:attribute name="ID" type="xs:positiveInteger" use="optional"/>
      <xs:attributeGroup ref="SubmitterIdentifiers"/>
   </xs:complexType>
   <xs:complexType name="MethodType">
      <xs:annotation>
         <xs:documentation> Details of a method used to generate variant calls or predict/report
            functional consequence. The name of the platform should represent a sequencer or an
            array, e.g. sequencing or array , e.g. capillary, 454, Helicos, Solexa, SOLiD. This
            structure should also be used if the method is 'Curation'. </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="NamePlatform" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="TypePlatform" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Purpose" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="ResultType" minOccurs="0" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="number of occurrences"/>
                  <xs:enumeration value="p value"/>
                  <xs:enumeration value="odds ratio"/>
                  <xs:enumeration value="variant call"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="MinReported" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="MaxReported" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="ReferenceStandard" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
               <xs:documentation> Free text to enrich the description of the method and to provide
                  information not captured in specific fields. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Software" type="typeSoftwareSet" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="SourceType" minOccurs="0" maxOccurs="1">
            <xs:simpleType>
               <xs:restriction base="xs:string">
                  <xs:enumeration value="submitter-generated"/>
                  <xs:enumeration value="data mining"/>
                  <xs:enumeration value="data review"/>
               </xs:restriction>
            </xs:simpleType>
         </xs:element>
         <xs:element name="MethodType" type="typeMethodlist" minOccurs="1" maxOccurs="1"/>
         <xs:element name="MethodAttribute" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" use="required">
                                 <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                       <xs:enumeration value="Location"/>
                                       <xs:enumeration value="ControlsAppropriate"/>
                                       <xs:enumeration value="MethodAppropriate"/>
                                       <xs:enumeration value="TestName"/>
                                       <xs:enumeration value="StructVarMethodType"/>
                                       <xs:enumeration value="ProbeAccession"/>
                                    </xs:restriction>
                                 </xs:simpleType>
                              </xs:attribute>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>

         <xs:element name="ObsMethodAttribute" minOccurs="0" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation> ObsMethodAttribute is used to indicate an attribute specific to a particular
                  method in conjunction with a particular observation . </xs:documentation>
            </xs:annotation>            
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" use="required">
                                 <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                       <xs:enumeration value="MethodResult"/>
                                       <xs:enumeration value="TestingLaboratory"/>
                                    </xs:restriction>
                                 </xs:simpleType>
                              </xs:attribute>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>         
      </xs:sequence>
   </xs:complexType>


   <xs:complexType name="ObservationSet">
      <xs:annotation>
         <xs:documentation>Documents in what populations or samples an allele or genotype has been
            observed relative to the described trait. Summary observations can be registered per
            submitted assertion, grouped by common citation, study type, origin, ethnicity, tissue,
            cell line, and species data. Not all options are valid per study type, but these will
            not be validated in the xsd. </xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Sample" type="typeSample"/>
         <xs:element name="Method" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:complexContent>
                  <xs:extension base="MethodType">
                     <xs:sequence>
                        <xs:element name="Type" minOccurs="0" maxOccurs="1">
                           <xs:simpleType>
                              <xs:restriction base="xs:string">
                                 <xs:enumeration value="literature only"/>
                                 <xs:enumeration value="reference population"/>
                                 <xs:enumeration value="case-control"/>
                                 <xs:enumeration value="clinical testing"/>
                                 <xs:enumeration value="in vitro"/>
                                 <xs:enumeration value="in vivo"/>
                                 <xs:enumeration value="inferred from source"/>
                                 <xs:enumeration value="research"/>
                              </xs:restriction>
                           </xs:simpleType>
                        </xs:element>
                     </xs:sequence>
                  </xs:extension>
               </xs:complexContent>
            </xs:complexType>
         </xs:element>
         <xs:element name="ObservedData" minOccurs="1" maxOccurs="unbounded">
            <xs:annotation>
               <xs:documentation>This is an AttributeSet, there will be 1 attribute supported by
                  optional citations, xrefs and comment. There must be at least one ObservedData
                  Set, but can be any number. For each ObservedData set the Attribute will be either
                  decimal or string depending on type. The value will be stored here, but decimals
                  will be entered to the database as a string. </xs:documentation>
            </xs:annotation>
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" use="required">
                                 <xs:simpleType>
                                    <xs:restriction base="xs:string">
                                       <xs:enumeration value="Description"/>
                                       <xs:enumeration value="VariantAlleles"/>
                                       <xs:enumeration value="SubjectsWithVariant"/>
                                       <xs:enumeration value="SubjectsWithDifferentCausativeVariant"/>
                                       <xs:enumeration value="VariantChromosomes"/>
                                       <!--homozygotes or hemizygotes-->
                                       <xs:enumeration value="IndependentObservations"/>
                                       <xs:enumeration value="SingleHeterozygote"/>
                                       <xs:enumeration value="CompoundHeterozygote"/>
                                       <xs:enumeration value="Homozygote"/>
                                       <xs:enumeration value="Hemizygote"/>
                                       <xs:enumeration value="NumberMosaic"/>
                                       <xs:enumeration value="ObservedUnspecified"/>
                                       <xs:enumeration value="AlleleFrequency"/>
                                       <xs:enumeration value="SecondaryFinding"/>
                                       <!--subset if family data are available-->
                                       <xs:enumeration value="GenotypeAndMOIConsistent"/>
                                       <xs:enumeration
                                          value="UnaffectedFamilyMemberWithCausativeVariant"/>
                                       <xs:enumeration value="HetParentTransmitNormalAllele"/>
                                       <xs:enumeration value="CosegregatingFamilies"/>
                                       <xs:enumeration value="InformativeMeioses"/>
                                       <xs:enumeration value="SampleLocalID"/>
                                       <xs:enumeration value="FamilyHistory"/>
                                       <xs:enumeration value="NumFamiliesWithVariant"/>
                                       <xs:enumeration value="NumFamiliesWithSegregationObserved"/>
                                       <xs:enumeration value="SegregationObserved"/>
                                    </xs:restriction>
                                 </xs:simpleType>
                              </xs:attribute>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Severity" type="typeSeverity" minOccurs="0" maxOccurs="1"/>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"
                  />
               </xs:sequence>

            </xs:complexType>
         </xs:element>
         <xs:element name="Co-occurrenceSet" type="Co-occurrenceType" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="TraitSet" type="ClinAsserTraitSetType" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>
   <xs:complexType name="ClinAsserTraitSetType">
      <xs:sequence>
         <xs:element name="Trait" type="ClinAsserTraitType" minOccurs="1" maxOccurs="unbounded"/>
         <xs:element name="Name" type="SetElementSetType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Symbol" type="SetElementSetType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute" minOccurs="1" maxOccurs="1">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" type="xs:string" use="required"/>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded">
                  
                  </xs:element>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Type" use="required">
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="Disease"/>
               <xs:enumeration value="DrugResponse"/>
               <xs:enumeration value="Finding"/>
               <xs:enumeration value="PhenotypeInstruction"/>
               <xs:enumeration value="TraitChoice"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="DateLastEvaluated" type="xs:date"/>
   </xs:complexType>
   <xs:complexType name="ClinAsserTraitType">
      <xs:sequence>
         <xs:element name="Name" type="SetElementSetType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Symbol" type="SetElementSetType" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Attribute" minOccurs="1" maxOccurs="1">
                     <xs:complexType>
                        <xs:simpleContent>
                           <xs:extension base="typeAttribute">
                              <xs:attribute name="Type" type="xs:string" use="required"/>
                           </xs:extension>
                        </xs:simpleContent>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"
                  />
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="TraitRelationship" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Name" type="SetElementSetType" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="Symbol" type="SetElementSetType" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="AttributeSet" minOccurs="0" maxOccurs="unbounded">
                     <xs:complexType>
                        <xs:sequence>
                           <xs:element name="Attribute" minOccurs="1" maxOccurs="1">
                              <xs:complexType>
                                 <xs:simpleContent>
                                    <xs:extension base="typeAttribute">
                                       <xs:attribute name="Type" type="xs:string" use="required"/>
                                    </xs:extension>
                                 </xs:simpleContent>
                              </xs:complexType>
                           </xs:element>
                           <xs:element name="Citation" type="typeCitation" minOccurs="0"
                              maxOccurs="unbounded"/>
                           <xs:element name="XRef" type="typeXref" minOccurs="0"
                              maxOccurs="unbounded"/>
                           <xs:element name="Comment" type="typeComment" minOccurs="0"
                              maxOccurs="unbounded"/>
                        </xs:sequence>
                     </xs:complexType>
                  </xs:element>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Source" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
               <xs:attribute name="Type" use="required">
                  <xs:simpleType>
                     <xs:restriction base="xs:string">
                        <xs:enumeration value="phenocopy"/>
                        <xs:enumeration value="Subphenotype"/>
                        <xs:enumeration value="DrugResponseAndDisease"/>
                        <xs:enumeration value="co-occurring condition"/>
                        <xs:enumeration value="Finding member"/>
                     </xs:restriction>
                  </xs:simpleType>
               </xs:attribute>
            </xs:complexType>
         </xs:element>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Source" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="Type" use="required">
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="Disease"/>
               <xs:enumeration value="DrugResponse"/>
               <xs:enumeration value="BloodGroup"/>
               <xs:enumeration value="Finding"/>
               <xs:enumeration value="NamedProteinVariant"/>
               <xs:enumeration value="PhenotypeInstruction"/>

            </xs:restriction>
         </xs:simpleType>
      </xs:attribute>
   </xs:complexType>
   <xs:complexType name="SetElementSetType">
      <xs:sequence>
         <xs:element name="ElementValue">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="xs:string">
                     <xs:attribute name="Type" type="xs:string" use="required"/>
                  </xs:extension>
               </xs:simpleContent>
            </xs:complexType>
         </xs:element>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>

   <xs:attributeGroup name="SubmitterIdentifiers">
      <xs:annotation>
         <xs:documentation>Set of attributes for the primary submitter. Any addtional submitters are
            captured in the AdditionalSubmitters element</xs:documentation>
      </xs:annotation>
      <xs:attribute name="SubmitterName" type="xs:string" use="required"/>
      <xs:attribute name="OrgID" type="xs:positiveInteger" use="required"/>
      <xs:attribute name="OrganizationCategory" type="xs:string" use="required"/>
      <xs:attribute name="OrgAbbreviation" type="xs:string" use="optional"/>
   </xs:attributeGroup>


   <xs:complexType name="typeAttributeSet">
      <xs:sequence>
         <xs:element name="Attribute" minOccurs="1" maxOccurs="1">
            <xs:complexType>
               <xs:simpleContent>
                  <xs:extension base="typeAttribute">
                     <xs:attribute name="Type" type="xs:string" use="required"/>
                  </xs:extension>
               </xs:simpleContent>
             </xs:complexType>
         </xs:element>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
   </xs:complexType>



   <xs:complexType name="IndicationType">
      <xs:sequence>
         <xs:element maxOccurs="unbounded" minOccurs="1" name="Trait" type="ClinAsserTraitType">
            <xs:annotation>
               <xs:documentation>Represents the value for the test indication as a name of a trait.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="Name" type="SetElementSetType"/>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="Symbol" type="SetElementSetType"/>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="AttributeSet" type="typeAttributeSet"/>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="Citation" type="typeCitation"/>
         <xs:element maxOccurs="unbounded" minOccurs="0" name="XRef" type="typeXref"/>
         <xs:element maxOccurs="1" minOccurs="0" name="Comment" type="typeComment"/>
      </xs:sequence>
      <xs:attribute name="Type" use="required">
         <xs:simpleType>
            <xs:restriction base="xs:string">
               <xs:enumeration value="Indication"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:attribute>
      <xs:attribute name="ID" type="xs:positiveInteger" use="optional"/>
   </xs:complexType>
   
   
   <xs:complexType name="ClinicalSignificanceType">
      <xs:sequence>
         <xs:element name="ReviewStatus" type="typeSubmitterReviewStatusValue" minOccurs="0" maxOccurs="1"/>
         <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1">
            <xs:annotation>
            <xs:documentation>We are not providing an enumeration for the values we report for clinical significance within the xsd. 
            The values are maintained here: ftp://ftp.ncbi.nlm.nih.gov/pub/GTR/standard_terms/Clinical_significance.txt. </xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="Explanation" type="typeComment" minOccurs="0" maxOccurs="1">
            <xs:annotation>
            <xs:documentation>Explanation is used only when the description is 'conflicting data from submitters'
            The element summarizes the conflict.</xs:documentation>
            </xs:annotation>
         </xs:element>
         <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Citation" type="typeCitation" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="DateLastEvaluated" type="xs:date" use="optional"/>
   </xs:complexType>

   <xs:complexType name="typeRecordHistory">
      <xs:annotation>
         <xs:documentation>A structure to support reporting of an accession, its version, the date its status changed, and
         text describing that change.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:element name="Description" type="xs:string" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="Accession" type="xs:string" use="required"/>
      <xs:attribute name="Version" type="xs:nonNegativeInteger" use="required"/>
      <xs:attribute name="DateChanged" type="xs:date" use="required"/>
      <xs:attribute name="VariationID" type="xs:nonNegativeInteger" use="required"/>
   </xs:complexType>
 

   <xs:complexType name="typeGenotypeSCV">
      <xs:annotation>
         <xs:documentation>Used to report genotypes, be they simple or complex
            diplotypes.</xs:documentation>
      </xs:annotation>
      <xs:sequence>
         <xs:choice minOccurs="1" maxOccurs="unbounded">
           <xs:element maxOccurs="1" minOccurs="1" name="SimpleAllele" type="typeAlleleSCV">
            
           </xs:element>
           <xs:element name="Haplotype" type="typeHaplotypeSCV" minOccurs="1" maxOccurs="1">
              <xs:annotation>
                 <xs:documentation>Allows more than 2 haplotypes per genotype to support representation
                    of ploidy.</xs:documentation>
              </xs:annotation>
           </xs:element>
         </xs:choice>
         <xs:element name="Name" type="xs:string" minOccurs="0" maxOccurs="1"/>
         <xs:element name="VariationType" type="typeVariationType" minOccurs="1" maxOccurs="1"/>
         <xs:element name="FunctionalConsequence" minOccurs="0" maxOccurs="unbounded">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
                  <xs:element name="Citation" type="typeCitation" minOccurs="0"
                     maxOccurs="unbounded"/>
                  <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
               <xs:attribute name="Value" type="xs:string" use="required"/>
            </xs:complexType>
         </xs:element>
         <xs:element name="Interpretations" type="typeAggregatedInterpretationSet" minOccurs="0"
            maxOccurs="unbounded"/>
         <xs:element name="XRefList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="XRef" type="typeXref" minOccurs="0" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="CitationList" minOccurs="0">
            <xs:complexType>
               <xs:sequence>
                  <xs:element name="Citation" type="typeCitation" maxOccurs="unbounded"/>
               </xs:sequence>
            </xs:complexType>
         </xs:element>
         <xs:element name="Comment" type="typeComment" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element name="AttributeSet" type="typeAttributeSet" minOccurs="0" maxOccurs="unbounded"/>
      </xs:sequence>
      <xs:attribute name="VariationID" type="xs:int" use="optional"/>
   </xs:complexType>

    <xs:simpleType name="typeHaplotypeVariationType">
      <xs:restriction base="xs:string">
         <xs:enumeration value="Haplotype"/>
         <xs:enumeration value="Variation"/>
      </xs:restriction>
    </xs:simpleType> 
</xs:schema>
