<!--
		SIF Implementation Specification (New Zealand) 3.1
		(8 December, 2020
)
		
		Infrastructure Version: v3.1
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/nz/3.1" targetNamespace="http://www.sifassociation.org/datamodel/nz/3.1" elementFormDefault="qualified" version="3.1 (rc 5)">
  <xs:complexType name="SubjectAreaListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of code values denoting Learning Areas and Subjects from either the NZ Curriculum
				or Te Marautanga o Aotearoa.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation />
          </xs:annotation>
        </xs:element>
        <xs:element name="NCEASubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsNCEASubjectAreaType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation />
          </xs:annotation>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Subject(s) Staff member is eligible to teach.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffSubject" minOccurs="0" maxOccurs="unbounded" type="StaffSubjectType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>This element contains Staff subjects they are eligible to teach together with the teaching preference.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffSubjectType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains Staff subjects they are eligible to teach together with the teaching preference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Priority of Subject to Teach.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>NZ education standardised code denoting LearningArea / SubjectArea</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="YearLevelListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Staff assignment to this particular subject area / learning area applies
					only for students enrolled in a particular set of year levels.   
					e.g.  "Asst. Head of Dept (Maths, Jnr)" could ony be responsible for Students in 
					year levels 9 &amp; 10, who are learning Mathematics.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageOfInstructionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Records the number of hours per week the Learner is taught in each language.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageOfInstructionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The number of hours per week the Learner is taught in a specific language during the enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageOfInstructionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>The number of hours per week the Learner is taught in a specific language during the enrolment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsLanguageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the actual language of instruction.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Level" minOccurs="0" type="NZCodeSetsLanguageInstructionLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The level of instruction that is made in the selected language.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LearningStandardListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of LearningStandardRefIds providing a manner of referring
				to a collection of LearningStandards.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStandardRefId" minOccurs="0" maxOccurs="unbounded" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardsListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of ObjectReferences to related LearningStandards.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RelatedLearningStandard" minOccurs="0" maxOccurs="unbounded" type="RelatedLearningStandardType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A member of the related LearningStandard list.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedLearningStandardType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A member of a list of related LearningStandard references.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="Relationship" minOccurs="0" type="NZCodeSetsLearningStandardRelationshipTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Code describing the relationship from a LearningStandard to a related LearningStandard.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="CredentialListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of ObjectReferences providing a manner of referring
				to a collection of Credentials.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Credential" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CourseListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of associated courses.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Course" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An associated course.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProgressReportAuthorListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the staff members that compiled the progress report. A report can be authored by
				 a collective of individual class teachers, or may be compiled by a single author.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A generic object reference to a staff memberthat authored the progress report.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TechnologyClassListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of  records of the Student's progress in particular classes from the Technology 
					curriculum. e.g. Hard Materials, Food Technology, Digital Design etc.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="TechnologyClass" minOccurs="0" maxOccurs="unbounded" type="TechnologyClassType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation> A record of the Student's progress in a particular class from the Technology curriculum. </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TechnologyClassType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of the Student's progress in a particular class from the Technology curriculum. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Class" minOccurs="0" type="NZCodeSetsTechnologyClassType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code denoting the technology class the progress report covers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Teacher" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to the staff member that taught the subject and assessed the student against the technology strand objectives.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BehaviourComment" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Overall comment about the behaviour of the student over the course of the lessons in the Class.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EffortComment" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Overall comment about the effort the student has made in class</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StrandList" minOccurs="0" nillable="true" type="ClassStrandListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A record of the Student's progress in a set of learning strands 
					from the Technology curriculum, that were covered in the class</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ClassStrandListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of the Student's progress in a set of learning strands 
					from the Technology curriculum, that were covered in the class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Strand" minOccurs="0" maxOccurs="unbounded" type="ClassStrandType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A record of the Student's progress in a particular learning strand
					 from the Technology curriculum, that was covered in the class.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ClassStrandType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of the Student's progress in a particular learning strand 
						from the Technology curriculum, that was covered in the class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="LearningStrand" minOccurs="0" type="NZCodeSetsTechnologyLearningStrandType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the particular learning strand from the Technology curriculum, that was covered in the class, 
					and for which the student's progress is being reported.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AchievementObjectiveList" minOccurs="0" nillable="true" type="StrandAchievementObjectiveListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A record of the Student's progress in a set of achievement objectives from the 
					from the Technology curriculum strand, that was covered in the class.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StrandAchievementObjectiveListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of the Student's progress in a set of achievement objectives from the 
					Technology curriculum strand, that was covered in the class.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AchievementObjective" minOccurs="0" maxOccurs="unbounded" type="StrandAchievementObjectiveType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A record of the Student's progress in a particular achievement objective
						 from the Technology curriculum strand, that was covered in the class. </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StrandAchievementObjectiveType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of the Student's progress in a particular achievement objective 
						from the Technology curriculum strand, that was covered in the class. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AchievementObjective" minOccurs="0" type="NZCodeSetsStrandAchievementObjectiveType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the particular achievement objective against which
					 the student's progress is being reported. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CurriculumLevel" minOccurs="0" nillable="true" type="NZCodeSetsTechnologyCurriculumLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the technology curriculum level that the student's progress report
				 is being made against for this learning strand achievement objective. e.g. 2, 3, 4 or 5. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProgressLevel" minOccurs="0" nillable="true" type="NZCodeSetsStrandAchievementProgressLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the level of progress the student has made against the particular learning 
					strand achievement objective. e.g. Beginner, Proficient, and Advanced. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AchievementObjectiveDesc" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description of what the achievement objective covers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OverallStudentEffortNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A note about the student's overall effort in relation to this 
					achievement objective for this strand.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PracticalAbilityDesc" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description of practical ability covered by the 
					achievement objective for the strand.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PracticalAbilityProgressNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A note about the student's practical ability progress in relation to
					 this achievement objective for this strand.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Documents that relate to students progress in this strand achievement 
					objective, e.g. report, photos, media, documents etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of associated staff members.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffMember" minOccurs="0" maxOccurs="unbounded" type="StaffListStaffMemberType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The individual staff member as a member of the StaffList and their role.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffListStaffMemberType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The individual staff member as a member of the StaffList and their role.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="Role" minOccurs="0" type="NZCodeSetsStaffRoleType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Code describing the staff members role. Note: This role
				may affect the Teacher's access to the students data for
				those students who are members of the TeachingGroup.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="StudentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of references to the set of Students who are assigned to 
					the Teaching Group, SchoolCourse or AssessmentTask.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Student" minOccurs="0" maxOccurs="unbounded" type="StudentObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student reference in the StudentList.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RoomListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of rooms in which the scheduled activity is held. Used for onsite venues which are
					 represented in the source system as rooms. Can include large venues (ovals, library, etc), 
					 if they have been represented as rooms; source system practice varies.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RoomId" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The school's local identifier for the Room in which the teaching
					or scheduled activity is held.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolServiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains Organisation properties that are specific to Organisations
				that are Providers of School education services.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CoEdStatus" minOccurs="0" nillable="true" type="NZCodeSetsSchoolCoEdStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A summary of the genders accepted by the school</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Decile" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:integer">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>A description of the socio-economic position of a school's
				student community according to the MoE decile rating system.
				</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="10" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="NewEntrantPolicyList" minOccurs="0" nillable="true" type="EnactedPolicyListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of recognised policy choices adopted by the School.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AllowManualProvisioning" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the school has a student management system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolClassificationList" minOccurs="0" nillable="true" type="SchoolClassificationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of School Classification descriptors that further describe the nature of a school</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolYearList" minOccurs="0" nillable="true" type="SchoolYearLevelListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of SchoolYear elements describing
				the genders of students accepted for enrolment at each year
				level.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TechnologyCentreName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>
				The name of the Technology Centre that is run as part of the School;  Eg:  Marlborough Technology Centre
				is run as part of Bohally Intermediate School.
			</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolYearLevelListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of NZSchoolYearLevel elements, describing the Year Levels
				taught by the School, and the Co-Ed Status of each year level.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" maxOccurs="unbounded" type="SchoolYearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolYearLevelType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A descriptor for a particular Year Level offered by the school, including
				detail of the gender of students that are accepted for enrolment in this year level.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Which year level are we describing?</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FIRSTSchoolYearGenderId" minOccurs="0" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>This is the unique identifier for the combination of School Year, Gender 
				and Boarding received from FIRST.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gender" minOccurs="0" type="NZCodeSetsSchoolingGenderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Which genders are accepted for enrolment in this Year Level?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Boarding" minOccurs="0" nillable="true" type="NZCodeSetsSchoolBoardingTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Says if the school has boarding and if so, if it is for girls only, boys only or both.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="YearLevelListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of NZSchoolYearLevel elements, describing the Year Levels
				taught to the Course or TeachingGroup.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>MR</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The student Year Level that the staff member is responsible for. e.g.  "Junior Student Dean" could have responsibility for all students in year levels 9 and 10. May only contain the values 1 through to 13 inclusive.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EnactedPolicyListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of EnactedPolicy elements, describing the
				state legislated policy choices the school has adopted, and the
				time-period of that adoption.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EnactedPolicy" minOccurs="0" maxOccurs="unbounded" type="EnactedPolicyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EnactedPolicyType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A descriptor for a particular enacted policy that has been adopted by a school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EffectiveFrom" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The date from which the school adopted the policy.  If not populated
				then this is the current/original policy of the school.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EffectiveTo" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The date after which the school has no longer adopted the policy.  If not populated
				then the school has no planned date to end the policy.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Policy" minOccurs="0" type="NZCodeSetsEnactedPolicyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Which recognised policy has been chosen?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchoolClassificationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Classification elements, further describing the
				nature of the school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsSchoolClassificationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ECEServiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains Organisation properties that are specific to Organisations
				that are Providers of early childhood education services.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsECEServiceTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting the kind of ECE service. eg: Kindergarten, PLayCentre, Te Kohanga Reo, etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryLanguage" minOccurs="0" type="NZCodeSetsLanguageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The primary language utilised by the ECE Service.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryLanguageOther" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Additional information about a language when one of the 'Other' language codes sets is selected.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TertiaryServiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains Organisation properties that are specific to Organisations
				that are Providers of early tertiary education services.
				</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting the kind of Tertiary service. eg: University, Wananga, etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Address elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Address" minOccurs="0" maxOccurs="unbounded" type="AddressType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AddressType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains address data.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsAddressTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code defining the class of the address: Urban, Rural, Delivery Service or Foreign.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsAddressRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Describes how the Person/Organisation uses the Address</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line1" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 1.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line2" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 2.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line3" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 3.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Line4" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Address line 4.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Suburb" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The suburb part of urban addresses, or the 'RD No' part of rural addresses</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="City" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The city part of the address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The state or province code. StateTerritory Code only applicable if a non-New Zealand Address.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Country" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The country code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PostalCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The ZIP/postal code.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The latitude &amp; longitude of the location. Grid location values
				are derived from New Zealand Map Grid x,y coordinates and converted
				to Latitude and Longitude values per the World Geodetic System 1984 (G1762)
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StatisticalAreaList" minOccurs="0" nillable="true" type="StatisticalAreaListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of Statistical Areas containing the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="GridLocationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains a map location. The GridLocation
				element is utilized within the Address element.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Latitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Latitude in decimal degrees.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="-90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="90" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Longitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Longitude in decimal degrees.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="-180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="180" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CountryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Country" minOccurs="0" maxOccurs="unbounded" type="ISO3166CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person's country of citizenship.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LocationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Location elements.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" maxOccurs="unbounded" type="LocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LocationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element contains data about a geographical location.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description for the Location.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationNum" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number identifying the individual location within the set of locations used by the Provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The physical address of the Location</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The latitude &amp; longitude of the location. Grid location values
				are derived from New Zealand Map Grid x,y coordinates and converted
				to Latitude and Longitude values per the World Geodetic System 1984 (G1762)
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StatisticalAreaList" minOccurs="0" nillable="true" type="StatisticalAreaListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of Statistical Areas containing the location.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatisticalAreaListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Statistical Areas. It may contain
				a StatisticalArea element for each of the
				following spatial unit types:</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StatisticalArea" minOccurs="0" maxOccurs="unbounded" type="StatisticalAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code denoting one of the following spacial unit types:</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StatisticalAreaType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A particular statistical area defined by Statistics New Zealand.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SpatialUnitType" minOccurs="0" type="NZCodeSetsSpatialUnitTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Denotes the type of Spatial Unit that the
				StatisticalArea code refers to. (eg: Teritorial Authority,
				General Electoral District, etc.)</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A valid value defined by the nominated spatial unit
				type, defined by Statistics New Zealand in one of the
				following statistical area defintion standards:</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The personal information collected about students.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="BaseNameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A name used by the person </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherNameList" minOccurs="0" nillable="true" type="OtherNameListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Previous, alternate or other names or aliases
				associated with the person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VerifiedName" minOccurs="0" nillable="true" type="VerifiedNameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The verified name of the person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Details of the person’s demographic properties</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's address(es) - one or more addresses</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's e-mail address(es) - one or more emails.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's phone number(s) - one or more phone numbers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdContactInfoList" minOccurs="0" nillable="true" type="HouseholdContactInfoListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's household/s contact information. A list of
				one or more household’s contact information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PersonPhoto" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A photo of the person. A person photo is stored in Document against the student with a document type of Person Photo.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MedicalNeedList" minOccurs="0" nillable="true" type="MedicalNeedListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of a persons known medical needs.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BaseCommunicationChannelType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A set of attributes common to multiple kinds of communication channel</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Notes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Notes on when / how to use the communication channel. eg: Phone after 4pm</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Preference" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Preference number indicating an order in which communication channels should be used
				when contacting person or organisation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Usage" minOccurs="0" nillable="true" type="NZCodeSetsCommunicationUsageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code describing the acceptable usage of a person or organisation's communication channel</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BaseNameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A title or prefix associated with the name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Also known as Last Name, although some cultures may not present a family name as the last name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Also known as First Name, although some cultures may
				not present this name as the first element in a name.  May
				contain a composite of all given names.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Where more than one Given Name, these may be combined
				in one composite field or else populated in several
				elements.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyNameFirst" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An indicator used to identify the naming conventions
				used by some predominantly non-European, ethnic or
				language groups and related to the display nature of a
				name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A preferred version of the Family Name. Note:A name
				cannot have both a Preferred Family and Preferred Given
				Name within the same Name structure – only one of these
				fields should be populated. If a person does have both a
				Preferred Family and Preferred Given Name then this must
				be populated as a separate Name of type ‘Preferred’.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredFamilyNameFirst" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An indicator used to identify the naming conventions
				used by some predominantly non-European, ethnic or
				language groups and related to the display nature of a
				name.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferredGivenName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A preferred version of the Given Name. Note: A name
				cannot have both a Preferred Family and Preferred Given
				Name within the same Name structure – only one of these
				fields should be populated. If a person does have both a
				Preferred Family and Preferred Given Name then this must
				be populated as a separate Name of type ‘Preferred’.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Textual suffix like PHD, JP, BSc. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A combination of all name elements as one composite text element</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsNameUsageTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
				Where a person has more than one name, the usage type
				distinguishes the purposes or their preference for use of
				the name.
			</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsVerified" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
				Flag indicating that this name has been verified.
			</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="VerifiedNameType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Extension of BaseNameType including name verification data</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:sequence>
          <xs:element name="Verification" minOccurs="0" nillable="true" type="VerificationEventType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>
					The verification event that verified the person's name.
				</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="OtherNameListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Previous, alternate or other names or aliases associated with a person.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="VerifiedNameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of the person. Note: Type value of LGL may not occur here.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DemographicsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Demographics information about the student, contact, staff member, etc.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's date of birth.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DateOfDeath" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's date of death.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's place of birth - like village, town, city etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="ISO3166CountryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's country of birth.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CitizenshipList" minOccurs="0" nillable="true" type="CountryListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="CitizenshipStatus" minOccurs="0" nillable="true" type="NZCodeSetsCitizenshipStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Citizenship or Residency status of the Person</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CitizenshipVerification" minOccurs="0" nillable="true" type="VerificationEventType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>
					The verification event that verified the residency
					status of the person.  Absence of a verification event
					indicates that the residency was not verified against
					an identity document.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Gender" minOccurs="0" nillable="true" type="NZCodeSetsGenderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The gender with which the Person identifies, according to
				NZ Standard Gender Identity codes.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LanguageList" minOccurs="0" nillable="true" type="LanguageListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of languages an individual uses to communicate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date the person first arrived in the country.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EthnicityList" minOccurs="0" nillable="true" type="EthnicityListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>One or more ethnic groups with which the person identifies.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IwiAffiliationList" minOccurs="0" nillable="true" type="IwiAffiliationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of one or more iwi with which the person has an affiliation.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReligiousAffiliationList" minOccurs="0" nillable="true" type="ReligiousAffiliationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of one or more religions with which the person has an affiliation.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>A list of languages that an individual uses to communicate</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageBaseType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageBaseType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>A language that an individual uses to communicate.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsLanguageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The code representing the specific language that an individual uses to communicate.�</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Usage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageUsageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The usage of the language by a person, potentially
				indicating capability and preference for the language.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Specific dialect of a person's language.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProficiencyList" minOccurs="0" nillable="true" type="LanguageProficiencyListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of the person's proficiency in the language in regards to speaking, reading and writing.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageProficiencyListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The person's proficiency in the language in regards to speaking, reading and writing.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Proficiency" minOccurs="0" maxOccurs="unbounded" type="LanguageProficiencyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's proficiency in the language in regards to speaking, reading and writing.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="LanguageProficiencyType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The person's proficiency in the language in regards to speaking, reading and writing.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Level" minOccurs="0" type="NZCodeSetsLanguageProficiencyLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person's proficency level in the language in regards to reading, writing or speaking.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsLanguageProficiencyTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of language proficency, e.g. speaking, writing or reading.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of e-mail addresses associated with an individual or organization.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Email" minOccurs="0" maxOccurs="unbounded" type="EmailType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EmailType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
					This element represents an e-mail address of one of a
					number of types and occurs in objects such as
					StudentPersonal, StaffPersonal,
					StudentContactPersonal, etc.
				</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsEmailTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>A Code denoting how the owner of the e-mail address describes it.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="SourceOrganisation" minOccurs="0" nillable="true" type="OrganisationObjectReferenceType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>Generic object reference to the organisation that provided the email address.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Address" minOccurs="0" type="xs:normalizedString">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The actual email address.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="PhoneNumberListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Lists phone numbers associated with an entity.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PhoneNumber" minOccurs="0" maxOccurs="unbounded" type="PhoneNumberType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PhoneNumberType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>This element represents a phone number and occurs within
				objects such as StudentPersonal, StaffPersonal, etc.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsTelephoneNumberTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>Code that specifies what type of phone number this is.
				Note: A subset of valid values may be specified in data
				objects.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Number" minOccurs="0" type="xs:normalizedString">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Phone number.  Free-form, but typical New Zealand formats include:</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>Phone number extension.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="ListedStatus" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>Indicates whether or not the phone number is available to the public.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="RelationshipType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Describes the relationship between a Student and StudentContact.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsRelationshipToStudentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code representing the relationship.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherTypeDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A free text description of relationship type, where
				Relationship To Student Type is set to ‘Other’, eg
				‘Au-pair’, ‘Neighbour’</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactFlagsType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains Yes/No characteristics of the contact person's role with the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does the individual have parental or legal guardianship responsibility for the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LivesWith" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does the student live with this contact?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AccessToRecords" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this contact have access to the student's records?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReceivesAssessmentReport" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>In particular, should this contact receive a copy of the student report? </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Should this contact be notified in case of emergency?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CivilEmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does the contact have pickup rights?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CivilDefenceEmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Should this contact be notified in case of civil defense emergency
				where the normal emergency contact is not close to a hosting school?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this person to be contacted in case of disciplinary action?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Should this contact be notified in case of an attendance issue?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this person provide daily living or personal assistance to the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FeesBilling" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this the contact responsible for Payment of Fees?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FeesAccess" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this contact have access to fees information?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FamilyMail" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Does this person receive family mail?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourtOrder" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is there a Protection Order, Restraining Order or some other court order
				preventing the Person from having contact with the Student?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HealthContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>C</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Is this student contact a healthcare provider for the student?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Households this Person is associated with</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="HouseholdContactInfo" minOccurs="0" maxOccurs="unbounded" type="HouseholdContactInfoType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Common element used to supply information about a particular household a person is a member of.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdContactInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Common element used to supply information about a particular household a person is a member of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Priority of Household Contact in relation to this Person.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdContactId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Local Household Id</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HouseholdSalutation" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Salutation to be used in addressing this household.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Email elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of PhoneNumber elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HouseholdListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of HouseholdContactIds, from the Student's HouseholdContactInfoList
				that the StudentContact is also a member of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="HouseholdId" minOccurs="0" maxOccurs="unbounded" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Repeatable element containing the HouseholdContactId of a household identifier from 
				the Student's HouseholdContactInfoList, that the StudentContact is also a member of.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EduOrganisationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Generic organisation that operates within the education sector.
					For example Providers, Communities of Learning, Ministry local offices, etc.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The set of postal and other addresses that the Organisation uses</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CommunicationChannelList" minOccurs="0" nillable="true" type="CommunicationChannelListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of one or more methods of communication with the organisation</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ContactList" minOccurs="0" nillable="true" type="ContactListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of one or more cotact persons related to the organisation</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EducationRegion" minOccurs="0" nillable="true" type="NZCodeSetsEducationRegionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A region of New Zealand defined by the Ministry of Education for adminstrative purposes</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SpecialEducationDistrict" minOccurs="0" nillable="true" type="NZCodeSetsSpecialEducationDistrictType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The special education district the provider belongs to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The set of contact email addresses that the Organisation uses</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EntityClose" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Closing date of entity. Only present for closed providers.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EntityOpen" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Opening date of entity.  For proposed schools this will
				be the projected opening date.  For open schools this may
				not be present.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationList" minOccurs="0" nillable="true" type="LocationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of one or more locations, from which the
				organisation operates or provides a service.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The normal business name of the Organisation</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The set of contact phone numbers that the Organisation uses</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RelatedOrganisationList" minOccurs="0" nillable="true" type="RelatedOrganisationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of other organisations that are related to the Provider</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="NZCodeSetsOperationalStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Current status of the Provider</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OperationalStatusReason" minOccurs="0" nillable="true" type="NZCodeSetsOperationalStatusReasonType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The reason the operational status of the organisation was changed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsOrganisationTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Describes the nature of the Organisation;  for Schools this indicate
				the schooling levels offered.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SectorRole" minOccurs="0" nillable="true" type="NZCodeSetsOrganisationSectorRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting the role the organisation plays within the education sector,
				 e.g. School Sector Institution, Learning Support Cluster, etc.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProviderSMS" minOccurs="0" nillable="true" type="NZCodeSetsSchoolManagementSystemType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The name of the School Management System (SMS) that the provider is currently using. Note: not all education providers use an SMS.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeRitoConfig" minOccurs="0" nillable="true" type="TeRitoConfigurationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Provides iinformation specific to Te Rito, e.g. which functionality in
				 Te Rito an organisation (school, ECE etc.) is utilising.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsLicencedECEServiceProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not an ECE Service Provider Organisation is a Licenced ECE Service Provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsPlaygroupServiceProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not an ECE Service Provider Organisation is a Playgroup Service Provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ECEServiceProviderOwnershipType" minOccurs="0" nillable="true" type="NZCodeSetsECEServiceProviderOwnershipTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of ECE Service Provider ownership, e.g. Sole Trader, 
				Company, Charitable Trust etc.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeRitoConfigurationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Indicates which features of the Te Rito platform the organisation has access to within the Te Rito platform.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DataAnalysisDashboardsInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the organisation has access to the data analysis dashboards within the Te Rito platform.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StandardisedLearningSupportRegisterInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the organisation has access to the  within the Te Rito platform.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VirtualLearningEnvironmentInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the organisation has access to the VLE within the Te Rito platform.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of people's contact details</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="ContactType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ContactType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A particular person's contact details</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="BaseNameType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The contact's name</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The title the contact has within the Organisation being contacted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsOrganisationContactRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The role the contact plays within the Organisation being contacted</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AddressList" minOccurs="0" nillable="true" type="AddressListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EmailList" minOccurs="0" nillable="true" type="EmailListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of Email elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PhoneNumberList" minOccurs="0" nillable="true" type="PhoneNumberListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of PhoneNumber elements.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CommunicationChannelListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of people/organisation's ccommunications channels</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Channel" minOccurs="0" maxOccurs="unbounded" type="CommunicationChannelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CommunicationChannelType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A particular person or organisation's communications method</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsCommunicationChannelTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>A code classifying the Communication's method</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Value" minOccurs="0" type="xs:string">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The unique value that provides access to the channel. eg: URL for a website;
				Facebook page addess, Twitter handle.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="RelatedOrganisationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of an Organisation's related organisations</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RelatedOrganisation" minOccurs="0" maxOccurs="unbounded" type="RelatedOrganisationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedOrganisationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Extends ObjectReferenceType to add an extra element, OrganisationType,
				describing the nature of the related organisation.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The start date of the relationship between the two organisations</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The end date of the relationship between the two organisations</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Type" minOccurs="0" type="NZCodeSetsOrganisationRelationshipTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Code denoting the nature of the relationship between the two Organisations</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="VerificationEventType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A record of how information about a person has been
				verified. For example, verification of name, date of
				birth, citizenship.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Source" minOccurs="0" type="NZCodeSetsVerificationSourceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting the source of the person's identity or eligibility verificaiton. 
				Principally refers to an identity document type (eg passport) but may also
				include a type of business decision taken to accept an
				assertion of identity and eligibility status (eg principal
				discretion).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentSerialNumber" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The serial number on the document that was used to verify the name or birthdate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentExpiryDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The expiry date on the document that was used to verify the name or birthdate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="IsConfirmed" minOccurs="0" type="xs:boolean">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>If true then verification has been confirmed by MoE.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Timestamp" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The date &amp; time that the VerificationEvent took place.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Provider" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Generic object reference to the provider (eg school) that provided the verification.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EthnicityListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of one or more ethnic groups with which a person identifies.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Ethnicity" minOccurs="0" maxOccurs="unbounded" type="EthnicityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EthnicityType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An ethnic group with which the person identifies, and if there is more than one, their order of preference.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The order of preference for the person's ethnicity.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsEthnicityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An ethnic group with which the person identifies.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="IwiAffiliationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of one or more Iwi with which a person affiliates.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Iwi" minOccurs="0" maxOccurs="unbounded" type="IwiType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An iwi the person is associated to.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="IwiType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An iwi the person is affiliated to.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsIwiType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The code of the iwi the person is affiliated to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates the persons preferred Iwi. The order of preference for the person's Iwi. '1' is their first preference. If left NULL means no preference is set and defers to any Iwi with a preference of '1'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HapuAffiliationList" minOccurs="0" nillable="true" type="HapuAffiliationListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of one or more affiliations of a person with a Hapū within an Iwi.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HapuAffiliationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of one or more affiliations of a person with a Hapū within an Iwi.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Hapu" minOccurs="0" maxOccurs="unbounded" type="HapuType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A Hapū a person is affiliated with.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HapuType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An hapu the person is affiliated to.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="HapuName" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of a Hapū that the person is affiliated with.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates the persons preferred Hapu. The order of preference for the person's Hapu. '1' is their first preference. If left NULL means no preference is set and defers to any Hapu with a preference of '1'.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReligiousAffiliationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of one or more religions with which a person affiliates.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ReligiousAffiliation" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsReligionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="HealthcareServiceInfoType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Details of a healthcare service provided by the student contact, for example if the contact is a doctor or dentist.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OrganisationName" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The name of the healthcare service, eg: 'Martinborough Health Centre'</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OrganisationPhoneNum" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The name phone number of the healthcare service</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Notes" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Who at the healthservice is the Student's regular e.g. 'Dr Phillips'</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsHealthcareServiceTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>What kind of healthcare service is provided to the Student by the contact?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedToListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of objects that this document relates to, e.g. a Wellbeing Response or Characteristic, Physical Restraint.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RelatedTo" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An object that this document relates to, e.g. a Wellbeing Response or Characteristic, Physical Restraint.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonDocumentRoleListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The list of people associated to a document and their role in relation to it,
					 e.g. author, owner, reviewer, subject of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonDocumentRole" minOccurs="0" maxOccurs="unbounded" type="PersonDocumentRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person associated to a document and their role in relation to it,
					 e.g. author, owner, reviewer, subject of.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonDocumentRoleType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A person associated to a document and their role in
				relation to it, e.g. author, owner, reviewer, subject of.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsDocumentRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code set denoting the role a person performs in relation
				to a document and their role in relation to it, e.g. author,
				owner, reviewer, subject of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="Person" minOccurs="0" nillable="true" type="ObjectReferenceType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>A non student person associated to a document and their role in relation to it, e.g. author, owner, reviewer, subject of.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="Student" minOccurs="0" nillable="true" type="StudentObjectReferenceType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>O</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>A student associated to a document and their role in relation to it, e.g. author, owner, reviewer, subject of.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicalNeedListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of a persons known medical needs.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MedicalNeed" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A persons known medical need.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of subject areas choices that can be made, or have been made by a Student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentSubjectChoice" minOccurs="0" maxOccurs="unbounded" type="StudentSubjectChoiceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An individual Subject choice that can be made, or has been made by a Student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSubjectChoiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An individual Subject choice that can be made, or has been made by a Student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student's preference for this subject, with respect
					to the other subject choices in the list.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>MoE code denoting the chosen subject / learning area.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EarlyChildhoodEducationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A summary of the early childhood education the student received before enrolling in their first school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsEarlyChildhoodEducationTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>  The type of early childhood education the student received. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HoursAttended" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The total number of hours of early childhood education attended, prior to enrolling in their first school.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentECEEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Defines information related to a student's enrolment at
					an Early Childhood Education (ECE) Provider.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ECEYearLevel" minOccurs="0" nillable="true" type="NZCodeSetsECEYearLevelType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code set denoting the year level of students attending early childhood education.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting which part of the National Curriculum (NZ Curriculum or Te Marautanga o Aotearoa) the ECE learner is enrolled in.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentTertiaryEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Defines information related to a student's enrolment at
					a Tertiary Education Provider.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of tertiary education the student is enrolling in.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSchoolEnrolmentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of school enrolments, one for each academic year (or part thereof) that the Student
				was enroled at the particular Provider.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolEnrolment" minOccurs="0" maxOccurs="unbounded" type="StudentSchoolEnrolmentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Defines information related to a student's enrolment at a school education Provider 
					for a particular academic year (or part thereof)</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSchoolEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating>High</privacyRating>
      </xs:appinfo>
      <xs:documentation>Defines information related to a student's enrolment at a school education Provider 
					for a particular academic year (or part thereof)</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchoolCalendarYear" minOccurs="0" nillable="true" type="xs:gYear">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>School year for which this enrolment is applicable,
					expressed as the four-digit year in which the school year
					ends (eg 2018).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>  The date the student started at the school.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MembershipType" minOccurs="0" type="NZCodeSetsSchoolEnrolmentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of enrolment as it relates to this school, 
					eg whether base school, co-enrolment. </xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="YearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>Represents the year level at which the student is considered to be predominantly taught. For example – Year 10, Year 11. Can only contain the values 1 through to 13 inclusive.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="EligibilityCriteria" minOccurs="0" nillable="true" type="NZCodeSetsEligibilityCriteriaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Records the Student's eligibility to enrol / for funding.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EligibilityVerification" minOccurs="0" nillable="true" type="VerificationEventType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Records how the Student's eligibility to enrol / for funding was verified by the
					school staff during the enrolment process.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Full-time equivalent numeric value of the student's
					course load during this enrollment, expressed in decimal
					form, where 1.00 represents a full-time enrolment.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:fractionDigits value="2" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="FundingType" minOccurs="0" nillable="true" type="NZCodeSetsStudentFundingTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The student classification for MoE funding purposes</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundingYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>Indicates the number of years for which funding has been provided by MoE. Must only contain values from 0 through to 15 inclusive.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="0" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="15" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Curriculum" minOccurs="0" type="NZCodeSetsCurriculumType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting which half of the National Curriculum
					(NZ Curriculum or Te Marautanga o Aotearoa) the student is enrolled in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CurriculumLevel" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Which level of the National Curriculum (1-5) is the student enrolling in?</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="5" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LanguageOfInstructionList" minOccurs="0" nillable="true" type="LanguageOfInstructionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>How much instruction has the student received in which languages?</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TimeInImmersion" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The number of years the student has been in Te Reo Māori immersion education.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Section9Agreement" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the student is enrolled under a Section 9 agreement</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NZQA" minOccurs="0" nillable="true" type="NZQAEnrolmentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>NZQA details for a student for this school year.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OngoingResourceScheme" minOccurs="0" nillable="true" type="NZCodeSetsOngoingResourceSchemeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates the level of ORS funding the student receives.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectChoiceList" minOccurs="0" nillable="true" type="StudentSubjectChoiceListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Student’s choice of general subjects and learning areas to be studied during the school year. 
					Not to be confused with CourseChoiceList which allows students to choose specific courses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CourseChoiceList" minOccurs="0" nillable="true" type="StudentCourseChoiceListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Student’s choice of courses to be studied during the school year. Not to be confused
				with SubjectChoiceList which allows students to choose general subjects and learning areas
				rather than specific courses.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CoEnrolment" minOccurs="0" nillable="true" type="StudentSchoolCoEnrolmentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Describes the student's enrolment with their base school in the
					case where this enrolment is not a base school enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InternationalEnrolment" minOccurs="0" nillable="true" type="InternationalSchoolEnrolmentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Additional information collected for international enrolments.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentConsentList" minOccurs="0" nillable="true" type="StudentConsentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of student consent information.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AcademicAttainmentGoalList" minOccurs="0" nillable="true" type="AcademicAttainmentGoalListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The academic attainment goals of the student when they enrol, e.g. they wish to achieve a certain qualification.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PreEnrolmentCancellation" minOccurs="0" nillable="true" type="PreEnrolmentCancellationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Details of why the school pre-enrolment was cancelled.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NZQAEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>NZQA details for a student for this school year.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EnrolmentId" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student's NZQA enrolment Id.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FeeAmount" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Amount paid by student to school for current year's NZQA fees.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FinancialAssistance" minOccurs="0" nillable="true" type="NZCodeSetsNZQAFinancialAssistanceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code set denoting the type of financial assistance the student is receiving.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SortCode" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student’s NZQA sort code, e.g. 13AB. Sort order for admission slips.
				 Often the form class of the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubmitterName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Full name of person submitting student information to NZQA.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubmitterEmailAddress" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>E-mail address of person submitting student information to NZQA.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawnAllAssessmentsInd" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Indicates that the student has withdrawn from all NZQA assessments.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcademicAttainmentGoalListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The academic attainment goals of the student when they
				enrolment, e.g. they wish to achieve a certain
				qualification.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttainmentGoal" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student's academic attainment goal at the time of enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentSchoolCoEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating>High</privacyRating>
      </xs:appinfo>
      <xs:documentation>The identity of the other school where the Student is concurrently enrolled.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OtherProvider" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Generic object reference to the other school where the student is concurrently enrolled.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CoEnrolmentType" minOccurs="0" nillable="true" type="NZCodeSetsCoEnrolmentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>  The type of CoEnrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BehaviouralKeyIssuesNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Free text note of key behavioural issues, made by the client school in relation to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ClientSchoolConfidentialNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Free text confidential note made by the client school in relation to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GuardianConfidentialNote" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Free text confidential note made by the parents/caregivers of the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="InternationalSchoolEnrolmentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar>O</sifChar>
        <privacyRating>High</privacyRating>
      </xs:appinfo>
      <xs:documentation>Additional information collected for international enrolments.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NZArrivalDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The date the Student arrived in New Zealand.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TuitionWeeklyFee" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The amount paid by the Student per Week (GST excl) as a tuition fee.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ExchangeScheme" minOccurs="0" nillable="true" type="NZCodeSetsExchangeSchemeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>Which government approved exchange scheme is the student part of?</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentCourseChoiceListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of course choices that can be made, or have been made by a Student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentCourseChoice" minOccurs="0" maxOccurs="unbounded" type="StudentCourseChoiceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An individual Course choice that can be made, or has been made by a Student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentCourseChoiceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An individual Course choice that can be made, or has been made by a Student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student's preference for this course, with respect
			to the other course choices in the list.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Course" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to the Course the student has chosen to study during the year.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PreEnrolmentCancellationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Details around why a pre-enrolment for a school was cancelled.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="NotifiedDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The date the Student was notified of the cancellation of the pre-enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CancellationMethod" minOccurs="0" nillable="true" type="NZCodeSetsPreEnrolmentExitTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code describing how the student's pre-enrolment was terminated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CancellationReason" minOccurs="0" nillable="true" type="NZCodeSetsPreEnrolmentCancellationReasonType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The reason the pre-enrolment was cancelled</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CancellationReasonOtherDesc" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Free text reason the pre-enrolment was cancelled if the cancellation reason of other was selected.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProviderExitType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Details of the reasons, and interventions leading up to the
					student's enrolment being terminated.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Reason" minOccurs="0" type="NZCodeSetsEnrolmentExitTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code describing how or why the student's enrolment was terminated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PostSchoolActivity" minOccurs="0" nillable="true" type="NZCodeSetsPostSchoolActivityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation> The post school activity the student is moving on to once they have exited the school.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterventionList" minOccurs="0" nillable="true" type="InterventionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of references to Wellbeing Event, Response &amp; Appeal data objects, 
					that record the process of terminating a students enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PotentialDestinationSchoolList" minOccurs="0" nillable="true" type="PotentialDestinationSchoolListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>List of potential destination schools for the departing student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="InterventionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of references to Wellbeing Event, Response &amp; Appeal data objects, 
					that record the process of terminating a students enrolment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Intervention" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A reference to a Wellbeing Event, Response &amp; Appeal data object,
					 that records the process of terminating a students enrolment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PotentialDestinationSchoolListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of references to potential destination schools for the departing student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="School" minOccurs="0" maxOccurs="unbounded" type="OrganisationObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A reference to a potential destination school for the departing student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ECEEducationHistoryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The list of the types of early childhood education the parent told a primary school
				 that the student received and the hours per week and/or day the student attended.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ECEType" minOccurs="0" maxOccurs="unbounded" type="ECEHistoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of early childhood education the student received and the hours per week and/or day the student attended.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ECEHistoryType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>History of a type of early childhood education the student received and 
				the hours per week and/or day the student attended.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsEarlyChildhoodEducationTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of early childhood education the student attended.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HoursPerDayAttended" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The number of hours per day the student attended this ECE Type.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="HoursPerWeekAttended" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>High</privacyRating>
          </xs:appinfo>
          <xs:documentation>The number of hours per week the student attended this ECE Type.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduleListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of references to a set of Schedules</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Schedule" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a Schedule in the list.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduleDayListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of ScheduleDay object references.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ScheduleDay" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a ScheduleAcademicDay in the list</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BellScheduleListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of BellSchedule object references.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="BellSchedule" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a BellSchedule in the list</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PeriodListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the object references to a set of SchedulePeriods</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Period" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation> A generic object references to a SchedulePeriod in the list</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduleTermListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of ScheduleTerm object references.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ScheduleTerm" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a ScheduleTerm in the list</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="TeachingGroupEventListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list generic references to a set of TeachingGroupEvents</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Event" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a TeachingGroupEvent in the list</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcademicDayListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the academic days within this schedule</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AcademicDay" minOccurs="0" maxOccurs="unbounded" type="AcademicDayType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An academic day that is part of this schedule.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcademicDayType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An academic day that is part of this schedule</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="BellSchedule" minOccurs="0" nillable="true" type="ObjectReferenceType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The bell schedule this academic day is following.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="PeriodList" minOccurs="0" type="PeriodListType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>A list of the periods that make up this academic day, e.g. Period 1, Period 2 etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="SchedulePeriodTimeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the periods that make up the bell schedule and their start and end times.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SchedulePeriodTime" minOccurs="0" maxOccurs="unbounded" type="SchedulePeriodTimeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A period that makes up or partially makes up the bell schedule and its start and end times.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SchedulePeriodTimeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The definition of a SchedulePeriod start and end time, on a particular Bell Schedule.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Period" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to the schedule period whose start and end times are being defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The time the period starts.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndTime" minOccurs="0" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The time the period ends.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduleCustomDayPeriodListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of generic object references to a set of
				SchedulePeriods, along with their custom start and end times,
				which are part of a 'CUSTOM' ScheduleEvent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Period" minOccurs="0" maxOccurs="unbounded" type="ScheduleCustomDayPeriodType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a SchedulePeriod, along with
				its custom start and end times, which are part of a 'CUSTOM'
				ScheduleEvent.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ScheduleCustomDayPeriodType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Generic object reference to a single SchedulePeriod, along
				with its custom start and end times, which are part of a
				'CUSTOM' ScheduleEvent.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="StartTime" minOccurs="0" type="xs:time">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The time the custom schedule period starts.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="EndTime" minOccurs="0" type="xs:time">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The time the custom schedule period ends.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="AttendanceTimeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Breakdown of times that the student entered or returned to school.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttendanceTime" minOccurs="0" maxOccurs="unbounded" type="AttendanceTimeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendanceTimeType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Time span that the student entered or returned to school</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AttendanceTimeLocalId" minOccurs="0" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The source system identifier of the attendance time list record.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceType" minOccurs="0" type="NZCodeSetsAttendanceTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of attendance being recorded e.g. Scheduled or Ad Hoc. If it is a schedule attendance then the SchedulePeriod must also be provided. If it is an Ad Hoc attendance then StartDateTime and EndDateTime must also be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceCodeGroup" minOccurs="0" nillable="true" type="NZCodeSetsAttendanceCodeGroupType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The attendance code group the students attendance code belongs to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsAttendanceCodeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>MoE defined code for attendance or  absence during the time period described.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendanceDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the attendance is being record for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchedulePeriod" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The scheduled period this attendnance time list record is for. The SchedulePeriod must be provided if the AttendanceType = 'Scheduled'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Start Time of the students attendance for the provided Attendance Date. Mandatory for attendance records with a type of 'Ad Hoc'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The End Time of the students attendance for the provided Attendance Date. Mandatory for attendance records with a type of 'Ad Hoc'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubmissionDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the students attendance for this date and time/period was submitted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Note" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text note about the students attendance for the provided date and time/period.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The audit details for a record, e.g. Created/Last Updated DateTime and Created/Last Updated By.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NoteListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of notes that have been written about the associated subject matter.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Note" minOccurs="0" maxOccurs="unbounded" type="NoteType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A free text note about the associated subject matter.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NoteType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A free text note about the associated subject matter.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Note" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text note.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreatedDateTime" minOccurs="0" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time the note was created.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastUpdatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time the note was last updated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreatedBy" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic reference to the user that created the note.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastUpdatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic reference to the user that last updated the note.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the medications required for this Wellbeing Characteristic.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Medication" minOccurs="0" maxOccurs="unbounded" type="MedicationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The medication, dosage and frequency, required by the student to manage the Wellbeing Characteristic.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MedicationName" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Name of medication required for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Dosage" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Dosage and strength of medication required for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Frequency" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Frequency of Administration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdministrationInformation" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Information about how the medication is to be administered.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Method of administration.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MedicationConsentList" minOccurs="0" nillable="true" type="MedicationConsentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationConsentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list consents that have been provided for administration of a medicine to a student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="MedicationConsent" minOccurs="0" maxOccurs="unbounded" type="MedicationConsentType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="MedicationConsentType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Contains information about when, by whom, and who consent was given to for the administration of a medicine to a student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date from which the student or student caretaker consented to the medicine being administered to the student by a particular individual.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the consent for administration of the medicine ends or is revoked.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ConsentedBy" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student or student caregiver that has consented to the medicine being administered to the student by the school.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProviderApplicableTo" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The provider the medication administartion consent is applicable to.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdministeredBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The staff member at the school that have been given permission by the student or the student's caregiver to administer the medicine to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Categories of the WellbeingEvent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EventCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventCategoryType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Category" minOccurs="0" type="NZCodeSetsWellbeingEventCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EventSubCategoryList" minOccurs="0" nillable="true" type="WellbeingEventSubCategoryListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventSubCategoryListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Categories of the WellbeingEvent.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EventSubCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventSubCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventSubCategoryType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubCategory" minOccurs="0" type="NZCodeSetsWellbeingEventSubCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of Actions where an action resulted and is known – maybe just a link to a WellbeingResponse Object</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="FollowUpAction" minOccurs="0" maxOccurs="unbounded" type="FollowUpActionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Container for the Follow Up details.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="FollowUpActionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Follow Up Action.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingResponseRefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The RefId of a WellbeingResponse Object if it exists.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FollowUpDetails" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Optional free text to outline follow up.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FollowUpActionCategory" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Category of Action - typing locally defined.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of People involved in the Wellbeing event/response.  Mandatory if more people than the student to which this event/response occurs is involved.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PersonInvolvement" minOccurs="0" maxOccurs="unbounded" type="PersonInvolvementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person (additional to the student) involved in a  Wellbeing event/response where required to be known.  </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PersonInvolvementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A repeatable element recording the identifier and details of another person that was involved in the Wellbeing Event/Response.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="StudentObjectReferenceType">
        <xs:sequence>
          <xs:element name="HowInvolved" minOccurs="0" nillable="true" type="xs:normalizedString">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>Optional free text detailing involvement.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="PersonType" minOccurs="0" nillable="true" type="NZCodeSetsPersonInvolvedTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The type of person that the person involved is, e.g. Teacher, Peers, etc.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="RecognitionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List of awards and other types of recognition given to the student for this activity. </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Recognition" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The nature of recognition given to the student for the
				successful completion of work in a co-curricular or
				extra-curricular activity.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalTimeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Where a student is to be removed or withdrawn partially for particular times in a week within the Start and End dates of the Response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Withdrawal" minOccurs="0" maxOccurs="unbounded" type="WithdrawalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WithdrawalType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Withdrawal.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WithdrawalStartDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The start date of the withdrawal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalEndDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The end date of the withdrawal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalStartTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Start time of the Withdrawal on that day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalEndTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>End time of the Withdrawal on that day.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SchoolTerm" minOccurs="0" nillable="true" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The school term the withdrawal took place in.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalFrom" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic reference to the TeachingGroup, StudentActivity, or TimeTableSubject that
				the learner is withdrawn from.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SuspensionContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of a Removal/Suspension.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SuspensionCategory" minOccurs="0" nillable="true" type="NZCodeSetsSuspensionCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Categorisation of a Suspension record to fall into, In School, Withdrawal, Expulsion/Exclusion etc.  In School is usually NOT formally recognised by a jurisdiction but managed at a school level where the student is temporarily withdrawn from normal classes. Expulsion/Exclusion may mean the student’s attendance at a school is terminated.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WithdrawalTimeList" minOccurs="0" nillable="true" type="WithdrawalTimeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The duration of a Suspension in days 0.00 – X.xx.  (Half Day = 0.5, Full Day = 1.0 or the percentage of any day.)  Must be provided for a Suspension when known.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AdvisementDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date parent/carers were officially notified.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResolutionMeetingTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time at which a meeting with the student’s parents/carers was held to resolve the Suspension.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResolutionNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Comments about how the Suspension has been resolved, including any reparative actions the student needs to take.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EarlyReturnDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date at which the student was permitted to return to school earlier than the agreed duration would have allowed.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="DetentionContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of a Detention.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DetentionCategory" minOccurs="0" nillable="true" type="NZCodeSetsDetentionCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Categorisation of a Detention.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date of the detention.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionLocation" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Eventually to be typed for initial draft will be string to try and determine a valid code set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetentionNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any notes that can be provided regarding the need/response that led to the detention.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PlanRequiredListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>List to contain information of any plans that may eventuate.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Plan" minOccurs="0" maxOccurs="unbounded" type="WellbeingPlanType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingPlanType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Repeatable Plan information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PlanNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any notes that can be provided regarding the need that led to the plan.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PlanDocument" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The GUID of a PersonalisedPlan Object if it exists and it can be provided.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AwardContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of an Award, where this response was in relation to a particular Award.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AwardDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date when to be awarded.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardType" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingAwardTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Type of Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardDescription" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AwardNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any comments/notes associated with the Award.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OtherWellbeingResponseContainerType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Container for details of any other response that can not be classified by previous types.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OtherResponseDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Date of the other response</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherResponseDescription" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Description of the other response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OtherResponseNotes" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Any comments/notes associated with the other response.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcknowledgementListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the providers and staff who have been sent the alerts and have acknowledged they have been read.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Acknowledgement" minOccurs="0" maxOccurs="unbounded" type="AcknowledgementType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcknowledgementType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A provider or staff member that has been sent the alerts and have acknowledged they have been read.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Acknowledged" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates whether or not a staff member has viewed the alerts.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AcknowledgedDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the provider acknowledged a staff member has viewed the alerts.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Provider" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A provider who has been sent the alerts and have acknowledged they have been read.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A staff member who has been sent the alerts and have acknowledged they have been read.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="KeyContactListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of key contacts for the alert.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="KeyContact" minOccurs="0" maxOccurs="unbounded" type="KeyContactType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="KeyContactType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A key contact for the Wellbeing Alert and their role, e.g. Parent, Doctor, Principal.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsKeyContactRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The role of the key contact in relation to the Wellbeing Alert.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Contact" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Details about the contact, e.g. Doctor, Parent, Principal.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingResponseListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of relevant Wellbeing Responses for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingResponse" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingAppealListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of relevant Wellbeing Appeals for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingAppeal" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingCharacteristicListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of relevant Wellbeing Characteristics for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingCharacteristic" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingEventListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of relevant Wellbeing Events for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingEvent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="WellbeingAlertListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of relevant Wellbeing Alerts for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="WellbeingAlert" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RelatedWellbeingEventListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A Wellbeing Event gets created for every student involved in an event. This list links together all related Wellbeing Events.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RelatedWellbeingEvent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintWitnessListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the people that witnessed the physical constraint.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Witness" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person that witnessed the physical restraint incident.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintAdministeredByListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the people who administered the physical restraint to the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RestraintAdministeredBy" minOccurs="0" maxOccurs="unbounded" type="RestraintAdministeredByType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person who administered the physical restraint to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintAdministeredByType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The person who administered the physical restraint to the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AdministeredBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person who administered the physical restraint to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SafePhysicalRestraintTraining" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Indicates whether or not the person involved has received training of the safe use of physical restraint.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TrainingDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text providing additional information about any training the person has had on the safe use pf physical restraint.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsRestraintAdministeredByRoleType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The role of the person who administered the physical restraint to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BehaviourDirectedAtListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The list of the people and/or property that the student, who was restrained, was directing their behaviour at.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="BehaviourDirectedAt" minOccurs="0" maxOccurs="unbounded" type="BehaviourDirectedAtType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person and/or piece of property that the student, who was restrained, was directing their behaviour at.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BehaviourDirectedAtType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The person and/or piece of property that the student, who was restrained, was directing their behaviour at.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DirectedAt" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The person the student's behaviour was directed at.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="BehaviourDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text describing the behaviour the student showed towards a person of piece of property.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DirectedAtType" minOccurs="0" nillable="true" type="NZCodeSetsBehaviourDirectedAtTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code set denoting type of object or person the student was directing their behaviour at, e.g. Staff Member, Student, Desk, Chair.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffReflectionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the reflections made by the staff members who applied the physical restraint.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffReflection" minOccurs="0" maxOccurs="unbounded" type="StaffReflectionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The reflections performed by the staff member who applied the physical restraint to the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffReflectionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The reflections performed by the staff member who applied the physical restraint to the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ReflectionDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the staff member performed their reflection on the use of physical restraint on the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="WitnessedBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The staff member that witnessed the person who applied the restraint performing the staff reflections.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Staff" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The staff member who performed the staff reflection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReflectionList" minOccurs="0" nillable="true" type="ReflectionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of the reflections the staff member performed.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReflectionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the reflections the staff member performed.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Reflection" minOccurs="0" maxOccurs="unbounded" type="ReflectionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A reflection that a staff member performed about the physical restraint incident.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ReflectionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A reflection that a staff member performed about the physical restraint incident.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ReflectionDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text outlining the staff members thoughts on a type of reflection.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsStaffRestraintReflectionTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of reflection that the staff member performed.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintDebriefingListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the debriefings that took place after the physical restraint incident occurred.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RestraintDebriefing" minOccurs="0" maxOccurs="unbounded" type="RestraintDebriefingType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A debriefing that took place after the physical restraint incident occurred. A debriefing can be with a staff member or with the student and their parent/caregiver.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintDebriefingType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A debriefing that took place after the physical restraint incident occurred. A debriefing can be with a staff member or with the student and their parent/caregiver.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DebriefingDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the debriefing about the use of physical restraint on the student occurred.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebriefingTime" minOccurs="0" nillable="true" type="xs:time">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The time the debriefing about the use of physical restraint on the student occurred.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Findings" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text outlining the findings of the debriefing in the use of physical restraint on the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NextStepsActions" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text about the next steps and/or actions that will be taken in as a result of the debriefing on the use of physical restraint  on the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ParentCaregiverComment" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Parent/caregiver comments made about the use physical restraint on the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentComment" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Student comments made about the use physical restraint on the them.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DebriefingType" minOccurs="0" nillable="true" type="NZCodeSetsRestraintDebriefingTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of debriefing that occurred, e.g. staff, or student and parent/caregiver.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttendeeList" minOccurs="0" nillable="true" type="AttendeeListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of the people that attended the debriefing.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AttendeeListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The type of debriefing that occurred, e.g. staff, or student and parent/caregiver.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Attendee" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A person that attended the debriefing.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintQuestionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of questions and their answers about the physical restraint incident.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RestraintQuestion" minOccurs="0" maxOccurs="unbounded" type="RestraintQuestionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A question and it's answer about the physical restraint incident that occurred. Additional free text information to support the answer may also be supplied.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RestraintQuestionType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A question and it's answer about the physical restraint incident that occurred. Additional free text information to support the answer may also be supplied.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Question" minOccurs="0" type="NZCodeSetsRestraintQuestionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The question asked about the physical restraint incident.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Answer" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The answer to the question. Options are Yes or No.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AnswerSupportingDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A free text description providing additional information about the question if required.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SocialGoalListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of social goals the student has set.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SocialGoal" minOccurs="0" maxOccurs="unbounded" type="BaseStudentGoalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="CareerGoalListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of career goals the student has set.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CareerGoal" minOccurs="0" maxOccurs="unbounded" type="BaseStudentGoalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcademicGoalListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of academic goals the student has set.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AcademicGoal" minOccurs="0" maxOccurs="unbounded" type="AcademicGoalType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BaseStudentGoalType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Base complex type defining elements common to all flavours of StudentGoal.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="GoalRecordedDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the Student's goal was recorded.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GoalAchievedDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the Student achieved their goal.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GoalDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description of the goal the student wants to achieve</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="GoalName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the goal the student wants to achieve</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AcademicGoalType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Defining elements of the Academic flavour of student goal.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="BaseStudentGoalType">
        <xs:sequence>
          <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The subject are athe student's academic goal is for.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="StudentInterestListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of interestes the student has set.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentInterest" minOccurs="0" maxOccurs="unbounded" type="StudentInterestType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentInterestType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Object recording an interest the student has expressed.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="InterestRecordedDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the Student's interest was recorded.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterestDescription" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A description of the interest the student wants to achieve</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterestName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the interest the student has expressed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="InterestType" minOccurs="0" nillable="true" type="NZCodeSetsStudentInterestTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Code denoting the type of interest the student has expressed</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The subject area the student has expressed an interest in.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="EventLocationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the locations where the incident took place.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventLocationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The location where the incident took place.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ActionTakenListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the actions taken as a result of this Wellbeing event.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ActionTaken" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventActionTakenType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The action taken as a result of this Wellbeing event.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PossibleMotivationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the possible motivations that triggered the event.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="PossibleMotivation" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventPossibleMotivationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The possible motivation that triggered the event.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BehaviourIdentifiedListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the problem behaviours identified for the student as a result of the Wellbeing Event. There are both minor and major behaviours.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="BehaviourIdentified" minOccurs="0" maxOccurs="unbounded" type="BehaviourIdentifiedType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The type of minor problem behaviour identified as a result of the Wellbeing Event.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="BehaviourIdentifiedType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A problem behaviour identified for the student as a result of the Wellbeing Event.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Severity" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingEventSeverityType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The severity of the Wellbeing Event.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:choice>
        <xs:element name="MinorBehaviour" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventMinorBehaviourType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>OR</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>The type of minor problem behaviour identified as a result of the Wellbeing Event.</xs:documentation>
          </xs:annotation>
        </xs:element>
        <xs:element name="MajorBehaviour" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventMajorBehaviourType">
          <xs:annotation>
            <xs:appinfo>
              <sifChar>OR</sifChar>
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>The type of major problem behaviour identified as a result of the Wellbeing Event.</xs:documentation>
          </xs:annotation>
        </xs:element>
      </xs:choice>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentVoiceListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the student's or their whānau's voice about their learning support in regards to the student 's interests, goals, and voice (comments, opinions).</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentVoice" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The student's or their whānau's voice about their wellbeing characteristic in regards to the student 's interests, goals, and voice (comments, opinions).</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of learning support needs that have been identified for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SupportNeed" minOccurs="0" maxOccurs="unbounded" type="SupportNeedType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A learning support need that has been identified for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A learning support need that has been identified for the student.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Need" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A learning support need that has been identified for the student.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ResponseList" minOccurs="0" nillable="true" type="SupportNeedResponseListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of responses made about a learning support need.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedResponseListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of responses made about a learning support need.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Response" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A responses made for a learning support need.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedResponseReviewListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the reviews made about the response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Review" minOccurs="0" maxOccurs="unbounded" type="SupportNeedResponseReviewType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A review of the response.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedResponseReviewType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A review of a support need response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Reviewer" minOccurs="0" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The staff member reviewed the response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReviewDate" minOccurs="0" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date of the review.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ReviewComments" minOccurs="0" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Free text comment about the review.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="NextReviewDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date of the next review.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AttachmentList" minOccurs="0" nillable="true" type="DocumentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of attachments related to a learning support need response review.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedExternalResponseType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Additional information for an external response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Provider" minOccurs="0" type="NZCodeSetsLearningSupportExternalProviderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The response provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProviderDetail" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Additional information about a provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" type="NZCodeSetsLearningSupportExtResponseStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The status of the external response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MOESpecialistService" minOccurs="0" nillable="true" type="NZCodeSetsMoESpecialistServiceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The MoE specialist service that has been selected as a response to a student's support need. Required if Response Detail = 'MOE' (MOE Specialists).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundedBy" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportExternalFunderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Who the response was funded by.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundedByDetail" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Additional detail about a funder.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RequestMadeDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date the request about funding was made.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundingStatus" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportFundingStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The status of the funding being provided for the response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundingDeclinedReason" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The reason funding was declined.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SupportNeedInternalResponseType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Additional information for an internal response.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ProvidedBy" minOccurs="0" type="NZCodeSetsLearningSupportInternalProviderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The response provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProvidedByName" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The name of the person providing the response. Mandatory to be provided when the ProvidedBy = 'Teacher'.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Status" minOccurs="0" type="NZCodeSetsLearningSupportIntResponseStatusType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The status of the internal response.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="FundedBy" minOccurs="0" type="NZCodeSetsLearningSupportInternalFunderType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Who is funding the reponse.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OfficialDiagnosisListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of official diagnoses that pertains to this wellbeing characteristic.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="OfficialDiagnosis" minOccurs="0" maxOccurs="unbounded" type="OfficialDiagnosisType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An official diagnosis that pertains to this Wellbeing Characteristic.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="OfficialDiagnosisType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An official diagnosis that pertains to this Wellbeing Characteristic.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="DiagnosisType" minOccurs="0" type="NZCodeSetsOfficialDiagnosisTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The official diagnosis type the student was given.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DiagnosisSubType" minOccurs="0" nillable="true" type="NZCodeSetsOfficialDiagnosisSubTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The official diagnosis sub-type the student was given.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="OfficialDiagnosisDetail" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Providers additional free text information about an official diagnosis. Mandatory when the Official Diagnosis Type selected is ‘Physical Impairments’, or ‘Medical Conditions’. Mandatory when the Official Diagnosis Sub-Type selected is ‘Other neurodevelopmental disorders/developmental anomalies’, Other mental health disorders’, or ‘Other sensory impairment’.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A list of documents that conatin information that pertain to this official diagnosis.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssessmentTaskListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation />
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SubAssessmentTask" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>GUID that identifies the sub-ordinate AssessmentTask.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="NZQAAssessmentRegistrationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>
				Extra details to support NZQA assessment registration process
			</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="EnrolmentId" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="EntryId" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The student's NZQA entry Id provided upon confirmation of the student's registration
				 to be assessed against a unit or achievement standard. Identifies what entry the result
				 is for to NZQA.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentRequestType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentRequestTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="PaperLanguage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
      <xs:element name="AnswerLanguage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation />
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="SpecialAssessmentConditionListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of Special Assessment Conditions (SACs) that may be applied, or excluded form	
				a particular student's participation in an assessment task.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="SpecialAssessmentCondition" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsSpecialAssessmentConditionType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A single SAC that may be applied, or excluded from a student's participation in an assessment task.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssessmentResultScoreListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of scores for the assessment task result.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ResultScore" minOccurs="0" maxOccurs="unbounded" type="AssessmentResultScoreType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>An Assessment Result Score that is a member of the related AssessmentResultScoreList.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="AssessmentResultScoreType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>An individual result score for the assessment task.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ScoreType" minOccurs="0" nillable="true" type="NZCodeSetsScoreTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Either defines that the score is an over-arching final aggregate score derived from
				 a collection of other scores, or the fact that the score is derived from a multi-stage
				 marking and moderation process, e.g. inital, interim, moderated and final scores for
				  a single assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Competency" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>String describing a particular competency that is being reported in the assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreMetric" minOccurs="0" nillable="true" type="NZCodeSetsScoreMetricType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A code denoting the type of metric the ScoreValue represents.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreValue" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The score the student received for assessment task against that metric. If the result score is for an NZQA or International Baccalaureate then the ScoreResultCode using the enumeration NZCodeSetsAssessmentResultType must be used instead.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ScoreMax" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The maximum value possible for the score.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Item within an NZQA Assessment Task that the score is for. When a marker marks an external 
				assessment (a paper for a standard in an examination, for example) they provide a score of 0-8 for
				each item (question) in the paper. </xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="JustificationListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list identifying the assessment task results that justify the student
					 achieving this attainment.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Justification" minOccurs="0" maxOccurs="unbounded" type="JustificationType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A generic reference to an assessment task result or other student attainment
					 that justifies the student achieving this attainment.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="JustificationType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Details of an assessment task result or other student attainment that 
					justifies the student achieving this attainment.
				</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>A Code denoting how the Justification assessment task was assessed</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Result" minOccurs="0" type="xs:normalizedString">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The final result of the assessment task that justifies the attainment.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="Date" minOccurs="0" type="xs:date">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The date the justifying assessment task was achieved.</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="CreditValue" minOccurs="0" nillable="true" type="xs:decimal">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating />
              </xs:appinfo>
              <xs:documentation>The number of credits the justifying assessment task contributes towards this attainment.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="ObjectReferenceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A reference to another SIF Data Object</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RefId" minOccurs="0" nillable="true" type="IdRefType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The GUUID of the referenced object</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Local identifier representing the referenced object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The normal descriptive name of the referenced object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ObjectType" minOccurs="0" nillable="true" type="NZCodeSetsReferrableDataObjectsType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of the referenced object:</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProviderObjectReferenceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A reference to a Provider Data Object</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="RefId" minOccurs="0" type="MoEOrgIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Ministry of Education Organisation Id of the referenced provider</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:string">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The normal descriptive name of the referenced object.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LocationNum" minOccurs="0" nillable="true" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Number identifying the individual location within the set of locations used by the Provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentObjectReferenceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A reference to a StudentPersonal Data Object, which may be via NSN rather than RefId or LocalId</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="NationalStudentNumber" minOccurs="0" nillable="true" type="xs:positiveInteger">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>High</privacyRating>
              </xs:appinfo>
              <xs:documentation>The NSN of the referenced Student</xs:documentation>
            </xs:annotation>
          </xs:element>
          <xs:element name="YearLevel" minOccurs="0" nillable="true">
            <xs:simpleType>
              <xs:restriction base="xs:positiveInteger">
                <xs:annotation>
                  <xs:appinfo>
                    <sifChar>O</sifChar>
                    <privacyRating>High</privacyRating>
                  </xs:appinfo>
                  <xs:documentation>The NSN of the referenced Student</xs:documentation>
                </xs:annotation>
                <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
                <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
              </xs:restriction>
            </xs:simpleType>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="OrganisationObjectReferenceType">
    <xs:complexContent>
      <xs:extension base="ProviderObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar />
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A reference to a Provider specific location at the Organisation; rather 
				than the Provider as a whole.</xs:documentation>
        </xs:annotation>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="LearningStandardObjectReferenceType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A reference to a LearningStandard via Number and VersionNum</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:int">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A unique number that is used to identify the learning standard. One use of this is for NZQA standard numbers
				which cannot be used as a unique identifier (in LocalId) on their own as they are versioned so are part of
				a composite key with VersionNo.
				</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="VersionNo" minOccurs="0" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The version of the learning standard.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="PrerequisiteListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>References to ProviderCourses, LearningStandards, Credentials, or AssessmentTasks that
					 the student must have completed or passed to engage in futher courses, 
					 activities and assessment tasks.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>A reference to a ProviderCourse, LearningStandard, Credential, or AssessmentTask that
					 the student must have completed or passed to engage in futher courses, 
					 activities and assessment tasks.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProviderInvolvedListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the providers involved and their role,
					 e.g. assessing provider, assessment provider, assessment location provider, registering provider.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="ProviderInvolved" minOccurs="0" maxOccurs="unbounded" type="ProviderInvolvedType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The provider involved with the assessment task and the role they play,
					 e.g. assessing provider, assessment location provider, assessment provider, registering provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="ProviderInvolvedType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The provider and Location with the assessment task and the role they play,
					 e.g. assessing provider, assessment location provider, assessment provider, registering provider.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ProviderObjectReferenceType">
        <xs:sequence>
          <xs:element name="ProviderRole" minOccurs="0" type="NZCodeSetsAssessmentProviderRoleType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The role of the provider in relation to the assessment task, e.g. assessing provider, assessment location provider, assessment provider, registering provider.</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="StaffInvolvedListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of the staff involved and their role in relation to the assessment task,
					 e.g. the staff member that created the assessment task, the moderator, the marker, the invigilator.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StaffInvolved" minOccurs="0" maxOccurs="unbounded" type="StaffInvolvedType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The staff member involved with the assessment task and their role, 
					e.g. created the assessment task, moderator, marker.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StaffInvolvedType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>The staff member involved with the assessment task and their
					 role, e.g. created the assessment task, moderator, marker.</xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="StaffRole" minOccurs="0" type="NZCodeSetsAssessmentStaffRoleType">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>M</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>NZCodeSetsAssessmentStaffRoleTYpe</xs:documentation>
            </xs:annotation>
          </xs:element>
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:complexType name="DocumentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of documents relevent to the contents of the data object.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="Document" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The Document and it's meta-data, e.g. evidentiary documents, personalised plans, action plans.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="StudentConsentListType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>A list of student consent information.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="StudentConsent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>MR</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>Generic object reference to a StudentConsent data object that records the student's consent to
				 a particular action taking place.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:complexType name="RecordAuditType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating />
      </xs:appinfo>
      <xs:documentation>Holds the audit for a records, e.g. Created/Last Updated DateTime and Created/Last Updated By.</xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="CreatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time the record being sent through was created in the source system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastUpdatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time the record was last updated.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeletedDateTime" minOccurs="0" nillable="true" type="xs:dateTime">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The date and time the record was deleted.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="CreatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The user that created the record in the source system.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="LastUpdatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The user that last updated the record.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeletedBy" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The user that deleted the record.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DeletedReason" minOccurs="0" nillable="true" type="NZCodeSetsDeletedReasonType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating />
          </xs:appinfo>
          <xs:documentation>The reason the record was deleted.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:simpleType name="GUIDType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>SIF format for a UUID; as defined in rfc-4122</xs:documentation>
          </xs:annotation>
          <xs:pattern value="[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="MoEOrgIdType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:annotation>
            <xs:appinfo>
              <sifChar />
              <privacyRating />
            </xs:appinfo>
            <xs:documentation>1 to 5 digit Ministry Organisation Id, without leading zeros</xs:documentation>
          </xs:annotation>
          <xs:pattern value="[1-9][0-9]{0,4}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="RefIdType">
    <xs:restriction base="GUIDType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>An object or element identifier.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="IdRefType">
    <xs:restriction base="RefIdType">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>A reference to a RefId.</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

  <xs:simpleType name="LocalIdType">
    <xs:restriction base="xs:normalizedString">
      <xs:annotation>
        <xs:appinfo>
          <sifChar />
          <privacyRating />
        </xs:appinfo>
        <xs:documentation>
					This is a common element used to define the locally assigned identifier
					associated with an entity. 
				</xs:documentation>
      </xs:annotation>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>