<!--
		SIF Implementation Specification (New Zealand) v3.2 (rc-4)

		(April, 2021
)
		
		Infrastructure Version: v3.3
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/nz/3.2" targetNamespace="http://www.sifassociation.org/datamodel/nz/3.2" elementFormDefault="qualified" version="3.2 (rc 4)"
>
  <!--SIFNZ-->


  <!--Organisation-->

  <xs:complexType name="OrganisationType">
    <xs:complexContent>
      <xs:extension base="EduOrganisationType">
        <xs:sequence>
          <xs:element name="OrganisationRefId" minOccurs="0" nillable="true" type="RefIdType" />
          <xs:element name="OrganisationLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
          <xs:element name="Authority" minOccurs="0" nillable="true" type="NZCodeSetsProviderAuthorityType" />
          <xs:element name="SchoolService" minOccurs="0" nillable="true" type="SchoolServiceType" />
          <xs:element name="ECEService" minOccurs="0" nillable="true" type="ECEServiceType" />
          <xs:element name="TertiaryService" minOccurs="0" nillable="true" type="TertiaryServiceType" />
          <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>

  <xs:element name="Organisation" type="OrganisationType">
    <xs:unique name="OrganisationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./OrganisationRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="OrganisationCollectionType">
    <xs:sequence>
      <xs:element name="Organisation" type="OrganisationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Organisations" type="OrganisationCollectionType" />


  <!--OrganisationRelationship-->

  <xs:complexType name="OrganisationRelationshipType">
    <xs:sequence>
      <xs:element name="OrganisationRelationshipRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="OrganisationRelationshipLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Status" minOccurs="0" type="NZCodeSetsOrganisationRelationshipStatusType" />
      <xs:element name="RelationshipType" minOccurs="0" type="NZCodeSetsOrganisationRelationshipTypeType" />
      <xs:element name="SourceOrganisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="SourceOrganisationRole" minOccurs="0" nillable="true" type="NZCodeSetsSourceOrganisationRoleType" />
      <xs:element name="SourceOrganisationAgreementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RelatedOrganisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="RelatedOrganisationRole" minOccurs="0" nillable="true" type="NZCodeSetsRelatedOrganisationRoleType" />
      <xs:element name="RelatedOrganisationAgreementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EffectiveDate" minOccurs="0" type="xs:date" />
      <xs:element name="ExpirationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="YearLevelList" minOccurs="0" nillable="true" type="YearLevelListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="OrganisationRelationship" type="OrganisationRelationshipType">
    <xs:unique name="OrganisationRelationshipKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./OrganisationRelationshipRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="OrganisationRelationshipCollectionType">
    <xs:sequence>
      <xs:element name="OrganisationRelationship" type="OrganisationRelationshipType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="OrganisationRelationships" type="OrganisationRelationshipCollectionType" />


  <!--AcademicDepartment-->

  <xs:complexType name="AcademicDepartmentType">
    <xs:sequence>
      <xs:element name="AcademicDepartmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="AcademicDepartmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StaffList" minOccurs="0" nillable="true" type="StaffListType" />
      <xs:element name="CourseList" minOccurs="0" nillable="true" type="CourseListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="AcademicDepartment" type="AcademicDepartmentType">
    <xs:unique name="AcademicDepartmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./AcademicDepartmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="AcademicDepartmentCollectionType">
    <xs:sequence>
      <xs:element name="AcademicDepartment" type="AcademicDepartmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AcademicDepartments" type="AcademicDepartmentCollectionType" />


  <!--StaffPersonal-->

  <xs:complexType name="StaffPersonalType">
    <xs:sequence>
      <xs:element name="StaffPersonalRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StaffPersonalLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="ESLPairwiseId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchoolSMSUserId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="PersonInfo" minOccurs="0" type="StaffPersonInfoType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StaffPersonal" type="StaffPersonalType">
    <xs:unique name="StaffPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StaffPersonalRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StaffPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StaffPersonal" type="StaffPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffPersonals" type="StaffPersonalCollectionType" />


  <!--StaffAssignment-->

  <xs:complexType name="StaffAssignmentType">
    <xs:sequence>
      <xs:element name="StaffAssignmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StaffAssignmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="StaffAssignmentStatus" minOccurs="0" nillable="true" type="NZCodeSetsStaffAssignmentStatusType" />
      <xs:element name="StaffMember" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="AssignedLocation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="EmployingOrAccommodatingProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StaffRole" minOccurs="0" type="NZCodeSetsStaffRoleType" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="CasualReliefTeacher" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="EmploymentStatus" minOccurs="0" nillable="true" type="NZCodeSetsStaffStatusType" />
      <xs:element name="StaffSubjectList" minOccurs="0" nillable="true" type="StaffSubjectListType" />
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="YearLevelListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StaffAssignment" type="StaffAssignmentType">
    <xs:unique name="StaffAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StaffAssignmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StaffAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="StaffAssignment" type="StaffAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffAssignments" type="StaffAssignmentCollectionType" />


  <!--StaffTeachingGroupAssignment-->

  <xs:complexType name="StaffTeachingGroupAssignmentType">
    <xs:sequence>
      <xs:element name="StaffTeachingGroupAssignmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StaffTeachingGroupAssignmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsStaffTeachingGroupAssignmentStatusType" />
      <xs:element name="StaffMember" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingGroup" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="Role" minOccurs="0" type="NZCodeSetsStaffTeachingGroupRoleType" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StaffTeachingGroupAssignment" type="StaffTeachingGroupAssignmentType">
    <xs:unique name="StaffTeachingGroupAssignmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StaffTeachingGroupAssignmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StaffTeachingGroupAssignmentCollectionType">
    <xs:sequence>
      <xs:element name="StaffTeachingGroupAssignment" type="StaffTeachingGroupAssignmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StaffTeachingGroupAssignments" type="StaffTeachingGroupAssignmentCollectionType" />


  <!--StudentPersonal-->

  <xs:complexType name="StudentPersonalType">
    <xs:sequence>
      <xs:element name="StudentPersonalRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentPersonalLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="NationalStudentNumber" minOccurs="0" type="NSNType" />
      <xs:element name="NZQAStudentId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FirstNZSchoolingDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EarlyChildhoodEducation" minOccurs="0" nillable="true" type="EarlyChildhoodEducationType" />
      <xs:element name="PersonInfo" minOccurs="0" type="StudentPersonInfoType" />
      <xs:element name="BiographicChangeReason" minOccurs="0" nillable="true" type="NZCodeSetsBiographicChangeReasonType" />
      <xs:element name="CustodyNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentPersonal" type="StudentPersonalType">
    <xs:unique name="StudentPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentPersonalRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StudentPersonal" type="StudentPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPersonals" type="StudentPersonalCollectionType" />


  <!--StudentContactPersonal-->

  <xs:complexType name="StudentContactPersonalType">
    <xs:sequence>
      <xs:element name="StudentContactPersonalRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentContactPersonalLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="HasBOTVote" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PersonInfo" minOccurs="0" type="StudentContactPersonInfoType" />
      <xs:element name="HealthcareServiceInfo" minOccurs="0" nillable="true" type="HealthcareServiceInfoType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentContactPersonal" type="StudentContactPersonalType">
    <xs:unique name="StudentContactPersonalKey1">
      <xs:selector xpath="." />
      <xs:field xpath="@StudentContactPersonalRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentContactPersonalCollectionType">
    <xs:sequence>
      <xs:element name="StudentContactPersonal" type="StudentContactPersonalType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentContactPersonals" type="StudentContactPersonalCollectionType" />


  <!--StudentContactRelationship-->

  <xs:complexType name="StudentContactRelationshipType">
    <xs:sequence>
      <xs:element name="StudentContactRelationshipRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentContactRelationshipLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsStudentContactRelationshipStatusType" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="StudentContact" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Relationship" minOccurs="0" type="RelationshipType" />
      <xs:element name="LanguageUsed" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType" />
      <xs:element name="HouseholdList" minOccurs="0" nillable="true" type="HouseholdListType" />
      <xs:element name="ContactFlags" minOccurs="0" nillable="true" type="ContactFlagsType" />
      <xs:element name="ContactSequence" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentContactRelationship" type="StudentContactRelationshipType">
    <xs:unique name="StudentContactRelationshipKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentContactRelationshipRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentContactRelationshipCollectionType">
    <xs:sequence>
      <xs:element name="StudentContactRelationship" type="StudentContactRelationshipType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentContactRelationships" type="StudentContactRelationshipCollectionType" />


  <!--Document-->

  <xs:complexType name="DocumentType">
    <xs:sequence>
      <xs:element name="DocumentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="DocumentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Location" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentTitle" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="DocumentDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AddedDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="ReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="URL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="NoteText" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RelatedToList" minOccurs="0" nillable="true" type="RelatedToListType" />
      <xs:element name="DocumentClassification" minOccurs="0" nillable="true" type="NZCodeSetsDocumentClassificationType" />
      <xs:element name="DocumentType" minOccurs="0" type="NZCodeSetsDocumentTypeType" />
      <xs:element name="PersonDocumentRoleList" minOccurs="0" nillable="true" type="PersonDocumentRoleListType" />
      <xs:element name="DocumentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="Document" type="DocumentType">
    <xs:unique name="DocumentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./DocumentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="DocumentCollectionType">
    <xs:sequence>
      <xs:element name="Document" type="DocumentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Documents" type="DocumentCollectionType" />


  <!--StudentConsent-->

  <xs:complexType name="StudentConsentType">
    <xs:sequence>
      <xs:element name="StudentConsentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentConsentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ConsentTo" minOccurs="0" type="NZCodeSetsStudentConsentToType" />
      <xs:element name="ConsentGiven" minOccurs="0" type="NZCodeSetsYesNoNotRequiredType" />
      <xs:element name="ConsentGivenBy" minOccurs="0" nillable="true" type="NZCodeSetsConsentGivenByType" />
      <xs:element name="ConsentDate" minOccurs="0" type="xs:date" />
      <xs:element name="ConsentRevokedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RelatedObject" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="AdditionalInformation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentConsent" type="StudentConsentType">
    <xs:unique name="StudentConsentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentConsentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentConsentCollectionType">
    <xs:sequence>
      <xs:element name="StudentConsent" type="StudentConsentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentConsents" type="StudentConsentCollectionType" />


  <!--TeachingGroup-->

  <xs:complexType name="TeachingGroupType">
    <xs:sequence>
      <xs:element name="TeachingGroupRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="TeachingGroupLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="ShortName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="LongName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GroupType" minOccurs="0" nillable="true" type="NZCodeSetsTeachingGroupTypeType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingOrganisation" minOccurs="0" nillable="true" type="OrganisationObjectReferenceType" />
      <xs:element name="ScheduleTerm" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StudentList" minOccurs="0" nillable="true" type="StudentListType" />
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="StaffListType" />
      <xs:element name="CourseList" minOccurs="0" nillable="true" type="CourseListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="YearLevelList" minOccurs="0" nillable="true" type="YearLevelListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TeachingGroup" type="TeachingGroupType">
    <xs:unique name="TeachingGroupKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./TeachingGroupRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="TeachingGroupCollectionType">
    <xs:sequence>
      <xs:element name="TeachingGroup" type="TeachingGroupType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TeachingGroups" type="TeachingGroupCollectionType" />


  <!--ProviderCourse-->

  <xs:complexType name="ProviderCourseType">
    <xs:sequence>
      <xs:element name="ProviderCourseRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ProviderCourseLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Curriculum" minOccurs="0" type="NZCodeSetsCurriculumType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="YearLevelList" minOccurs="0" nillable="true" type="YearLevelListType" />
      <xs:element name="Title" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="LanguageOfInstructionList" minOccurs="0" nillable="true" type="LanguageOfInstructionListType" />
      <xs:element name="NZQAShortCOurseInd" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="CredentialList" minOccurs="0" nillable="true" type="CredentialListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ProviderCourse" type="ProviderCourseType">
    <xs:unique name="ProviderCourseKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ProviderCourseRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ProviderCourseCollectionType">
    <xs:sequence>
      <xs:element name="ProviderCourse" type="ProviderCourseType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProviderCourses" type="ProviderCourseCollectionType" />


  <!--LearningStandard-->

  <xs:complexType name="LearningStandardType">
    <xs:sequence>
      <xs:element name="LearningStandardRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="LearningStandardLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Title" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Number" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="VersionNo" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Publisher" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StandardType" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardTypeType" />
      <xs:element name="LearningStandardFamily" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardFamilyType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectAreaList" minOccurs="0" type="SubjectAreaListType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardStatusType" />
      <xs:element name="PublicationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SupercededDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DiscontinuedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType" />
      <xs:element name="RelatedLearningStandardList" minOccurs="0" nillable="true" type="RelatedLearningStandardsListType" />
      <xs:element name="CredentialList" minOccurs="0" nillable="true" type="CredentialListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="LearningStandard" type="LearningStandardType">
    <xs:unique name="LearningStandardKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./LearningStandardRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="LearningStandardCollectionType">
    <xs:sequence>
      <xs:element name="LearningStandard" type="LearningStandardType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="LearningStandards" type="LearningStandardCollectionType" />


  <!--Credential-->

  <xs:complexType name="CredentialType">
    <xs:sequence>
      <xs:element name="CredentialRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="CredentialLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Title" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="VersionNo" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Administrator" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsCredentialStatusType" />
      <xs:element name="PublicationDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="SupercededDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DiscontinuedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Credits" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="Level" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RelatedLearningStandardList" minOccurs="0" nillable="true" type="RelatedLearningStandardsListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="Credential" type="CredentialType">
    <xs:unique name="CredentialKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./CredentialRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="CredentialCollectionType">
    <xs:sequence>
      <xs:element name="Credential" type="CredentialType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Credentials" type="CredentialCollectionType" />


  <!--StudentProviderEnrolment-->

  <xs:complexType name="StudentProviderEnrolmentType">
    <xs:sequence>
      <xs:element name="StudentProviderEnrolmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentProviderEnrolmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StudentId" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="EntryDate" minOccurs="0" type="xs:date" />
      <xs:element name="ExitDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsProviderEnrolmentStatusType" />
      <xs:element name="Exit" minOccurs="0" nillable="true" type="ProviderExitType" />
      <xs:element name="ECEEducationHistoryList" minOccurs="0" nillable="true" type="ECEEducationHistoryListType" />
      <xs:element name="EarlyChildhoodEnrolment" minOccurs="0" nillable="true" type="StudentECEEnrolmentType" />
      <xs:element name="SchoolEnrolmentList" minOccurs="0" nillable="true" type="StudentSchoolEnrolmentListType" />
      <xs:element name="TertiaryEducationEnrolment" minOccurs="0" nillable="true" type="StudentTertiaryEnrolmentType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentProviderEnrolment" type="StudentProviderEnrolmentType">
    <xs:unique name="StudentProviderEnrolmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentProviderEnrolmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentProviderEnrolmentCollectionType">
    <xs:sequence>
      <xs:element name="StudentProviderEnrolment" type="StudentProviderEnrolmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentProviderEnrolments" type="StudentProviderEnrolmentCollectionType" />


  <!--StudentTeachingGroupEnrolment-->

  <xs:complexType name="StudentTeachingGroupEnrolmentType">
    <xs:sequence>
      <xs:element name="StudentTeachingGroupEnrolmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentTeachingGroupEnrolmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsStudentTeachingGroupEnrolmentStatusType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingGroup" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentTeachingGroupEnrolment" type="StudentTeachingGroupEnrolmentType">
    <xs:unique name="StudentTeachingGroupEnrolmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentTeachingGroupEnrolmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentTeachingGroupEnrolmentCollectionType">
    <xs:sequence>
      <xs:element name="StudentTeachingGroupEnrolment" type="StudentTeachingGroupEnrolmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentTeachingGroupEnrolments" type="StudentTeachingGroupEnrolmentCollectionType" />


  <!--Schedule-->

  <xs:complexType name="ScheduleType">
    <xs:sequence>
      <xs:element name="ScheduleRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ScheduleLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="ScheduleName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="AcademicDayList" minOccurs="0" nillable="true" type="AcademicDayListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="Schedule" type="ScheduleType">
    <xs:unique name="ScheduleKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ScheduleRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ScheduleCollectionType">
    <xs:sequence>
      <xs:element name="Schedule" type="ScheduleType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="Schedules" type="ScheduleCollectionType" />


  <!--ScheduleAcademicDay-->

  <xs:complexType name="ScheduleAcademicDayType">
    <xs:sequence>
      <xs:element name="ScheduleAcademicDayRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ScheduleAcademicDayLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AcademicDayName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="SchedulePeriodTime" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="PeriodList" minOccurs="0" nillable="true" type="PeriodListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ScheduleAcademicDay" type="ScheduleAcademicDayType">
    <xs:unique name="ScheduleAcademicDayKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ScheduleAcademicDayRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ScheduleAcademicDayCollectionType">
    <xs:sequence>
      <xs:element name="ScheduleAcademicDay" type="ScheduleAcademicDayType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ScheduleAcademicDays" type="ScheduleAcademicDayCollectionType" />


  <!--SchedulePeriod-->

  <xs:complexType name="SchedulePeriodType">
    <xs:sequence>
      <xs:element name="SchedulePeriodRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="SchedulePeriodLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="PeriodName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SchedulePeriod" type="SchedulePeriodType">
    <xs:unique name="SchedulePeriodKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./SchedulePeriodRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="SchedulePeriodCollectionType">
    <xs:sequence>
      <xs:element name="SchedulePeriod" type="SchedulePeriodType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchedulePeriods" type="SchedulePeriodCollectionType" />


  <!--SchedulePeriodTime-->

  <xs:complexType name="SchedulePeriodTimeType">
    <xs:sequence>
      <xs:element name="SchedulePeriodTimeRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="SchedulePeriodTimeLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchedulePeriodTimeName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="DayPeriodTimeList" minOccurs="0" type="DayPeriodTimeListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="SchedulePeriodTime" type="SchedulePeriodTimeType">
    <xs:unique name="SchedulePeriodTimeKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./SchedulePeriodTimeRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="SchedulePeriodTimeCollectionType">
    <xs:sequence>
      <xs:element name="SchedulePeriodTime" type="SchedulePeriodTimeType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="SchedulePeriodTimes" type="SchedulePeriodTimeCollectionType" />


  <!--ScheduleTerm-->

  <xs:complexType name="ScheduleTermType">
    <xs:sequence>
      <xs:element name="ScheduleTermRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ScheduleTermLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="TermName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Organisation" minOccurs="0" nillable="true" type="OrganisationObjectReferenceType" />
      <xs:element name="SchoolYear" minOccurs="0" type="xs:gYear" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" type="xs:date" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ScheduleTerm" type="ScheduleTermType">
    <xs:unique name="ScheduleTermKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ScheduleTermRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ScheduleTermCollectionType">
    <xs:sequence>
      <xs:element name="ScheduleTerm" type="ScheduleTermType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ScheduleTerms" type="ScheduleTermCollectionType" />


  <!--ScheduleDate-->

  <xs:complexType name="ScheduleDateType">
    <xs:sequence>
      <xs:element name="ScheduleDateRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ScheduleDateLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="CalendarDateList" minOccurs="0" type="CalendarDateListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ScheduleDate" type="ScheduleDateType">
    <xs:unique name="ScheduleDateKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ScheduleDateRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ScheduleDateCollectionType">
    <xs:sequence>
      <xs:element name="ScheduleDate" type="ScheduleDateType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ScheduleDates" type="ScheduleDateCollectionType" />


  <!--TeachingGroupEvent-->

  <xs:complexType name="TeachingGroupEventType">
    <xs:sequence>
      <xs:element name="TeachingGroupEventRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="TeachingGroupEventLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingGroup" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ScheduleAcademicDay" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="SchedulePeriod" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ScheduleTerm" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="RoomId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RoomName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TakeAttendanceFlag" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="TeacherList" minOccurs="0" nillable="true" type="StaffListType" />
      <xs:element name="CourseList" minOccurs="0" nillable="true" type="CourseListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TeachingGroupEvent" type="TeachingGroupEventType">
    <xs:unique name="TeachingGroupEventKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./TeachingGroupEventRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="TeachingGroupEventCollectionType">
    <xs:sequence>
      <xs:element name="TeachingGroupEvent" type="TeachingGroupEventType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TeachingGroupEvents" type="TeachingGroupEventCollectionType" />


  <!--ScheduleException-->

  <xs:complexType name="ScheduleExceptionType">
    <xs:sequence>
      <xs:element name="ScheduleExceptionRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ScheduleExceptionLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Schedule" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ExceptionDate" minOccurs="0" type="xs:date" />
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="ScheduleAcademicDayList" minOccurs="0" nillable="true" type="ScheduleDayListType" />
      <xs:element name="DayPeriodTimeList" minOccurs="0" nillable="true" type="DayPeriodTimeListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ScheduleException" type="ScheduleExceptionType">
    <xs:unique name="ScheduleExceptionKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ScheduleExceptionRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ScheduleExceptionCollectionType">
    <xs:sequence>
      <xs:element name="ScheduleException" type="ScheduleExceptionType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ScheduleExceptions" type="ScheduleExceptionCollectionType" />


  <!--ProviderCalendarEvent-->

  <xs:complexType name="ProviderCalendarEventType">
    <xs:sequence>
      <xs:element name="ProviderCalendarEventRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="ProviderCalendarEventLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StartDateTime" minOccurs="0" type="xs:dateTime" />
      <xs:element name="EndDateTime" minOccurs="0" type="xs:dateTime" />
      <xs:element name="ProviderCalendarEventName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Location" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="ProviderCalendarEvent" type="ProviderCalendarEventType">
    <xs:unique name="ProviderCalendarEventKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./ProviderCalendarEventRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="ProviderCalendarEventCollectionType">
    <xs:sequence>
      <xs:element name="ProviderCalendarEvent" type="ProviderCalendarEventType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="ProviderCalendarEvents" type="ProviderCalendarEventCollectionType" />


  <!--StudentAttendanceSummary-->

  <xs:complexType name="StudentAttendanceSummaryType">
    <xs:sequence>
      <xs:element name="StudentAttendanceSummaryRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAttendanceSummaryLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="SchoolCalendarYear" minOccurs="0" type="xs:gYear" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" type="xs:date" />
      <xs:element name="StartDay" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="EndDay" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <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="AttendancePercentageHalfDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AttendanceUnjustifiedHalfDays" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearPresent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearAbsent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearJustified" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearTotal" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearIntermittantUnjustified" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearPercentagePresent" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="HalfDaysYearUnjustified" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAttendanceSummary" type="StudentAttendanceSummaryType">
    <xs:unique name="StudentAttendanceSummaryKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAttendanceSummaryRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentAttendanceSummaryCollectionType">
    <xs:sequence>
      <xs:element name="StudentAttendanceSummary" type="StudentAttendanceSummaryType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAttendanceSummarys" type="StudentAttendanceSummaryCollectionType" />


  <!--TeachingGroupMeetingAttendance-->

  <xs:complexType name="TeachingGroupMeetingAttendanceType">
    <xs:sequence>
      <xs:element name="TeachingGroupMeetingAttendanceRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="TeachingGroupMeetingAttendanceLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingGroup" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="MeetingDate" minOccurs="0" type="xs:date" />
      <xs:element name="SubmissionDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:choice>
        <xs:element name="Scheduled" minOccurs="0" nillable="true" type="ScheduledMeetingType" />
        <xs:element name="AdHoc" minOccurs="0" nillable="true" type="AdHocMeetingType" />
      </xs:choice>
      <xs:element name="StudentAttendanceList" minOccurs="0" type="StudentAttendanceListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="TeachingGroupMeetingAttendance" type="TeachingGroupMeetingAttendanceType">
    <xs:unique name="TeachingGroupMeetingAttendanceKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./TeachingGroupMeetingAttendanceRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="TeachingGroupMeetingAttendanceCollectionType">
    <xs:sequence>
      <xs:element name="TeachingGroupMeetingAttendance" type="TeachingGroupMeetingAttendanceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="TeachingGroupMeetingAttendances" type="TeachingGroupMeetingAttendanceCollectionType" />


  <!--WellbeingAlert-->

  <xs:complexType name="WellbeingAlertType">
    <xs:sequence>
      <xs:element name="WellbeingAlertRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="WellbeingAlertLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="PublishedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AlertCategory" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingAlertCategoryType" />
      <xs:element name="AlertDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AcknowledgementList" minOccurs="0" nillable="true" type="AcknowledgementListType" />
      <xs:element name="KeyContactList" minOccurs="0" nillable="true" type="KeyContactListType" />
      <xs:element name="WellbeingResponseList" minOccurs="0" nillable="true" type="WellbeingResponseListType" />
      <xs:element name="WellbeingAppealList" minOccurs="0" nillable="true" type="WellbeingAppealListType" />
      <xs:element name="WellbeingCharacteristicList" minOccurs="0" nillable="true" type="WellbeingCharacteristicListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="WellbeingAlert" type="WellbeingAlertType">
    <xs:unique name="WellbeingAlertKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./WellbeingAlertRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="WellbeingAlertCollectionType">
    <xs:sequence>
      <xs:element name="WellbeingAlert" type="WellbeingAlertType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WellbeingAlerts" type="WellbeingAlertCollectionType" />


  <!--WellbeingCharacteristic-->

  <xs:complexType name="WellbeingCharacteristicType">
    <xs:sequence>
      <xs:element name="WellbeingCharacteristicRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="WellbeingCharacteristicLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="RecordingProvider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="CharacteristicNotes" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="NoteList" minOccurs="0" nillable="true" type="NoteListType" />
      <xs:element name="Classification" minOccurs="0" type="NZCodeSetsWellbeingCharacteristicClassType" />
      <xs:element name="Category" minOccurs="0" type="NZCodeSetsWellbeingCharacteristicCategoryType" />
      <xs:element name="SubCategory" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingCharacteristicSubCategoryType" />
      <xs:element name="SubSubCategory" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingCharacteristicSubSubCategoryType" />
      <xs:element name="SubCategoryDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CharacteristicPriority" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingCharacteristicPriorityType" />
      <xs:element name="CaseLead" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportCaseLeadType" />
      <xs:element name="CaseLeadOtherDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CaseLeadContactPerson" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="DailyManagement" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EmergencyManagement" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EmergencyResponsePlan" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Trigger" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ConfidentialFlag" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="Alert" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="MedicationList" minOccurs="0" nillable="true" type="MedicationListType" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="WellbeingEventList" minOccurs="0" nillable="true" type="WellbeingEventListType" />
      <xs:element name="WellbeingAlertList" minOccurs="0" nillable="true" type="WellbeingAlertListType" />
      <xs:element name="SpecialAssessmentConditionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingCharacteristicStatusType" />
      <xs:element name="MedicalCharacteristicDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OfficialDiagnosis" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="OfficialDiagnosisList" minOccurs="0" nillable="true" type="OfficialDiagnosisListType" />
      <xs:element name="StudentVoiceList" minOccurs="0" nillable="true" type="StudentVoiceListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
      <xs:element name="LearnerInterests" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LearnerWhanauGoal" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LearnerWhanauVoice" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="WellbeingCharacteristic" type="WellbeingCharacteristicType">
    <xs:unique name="WellbeingCharacteristicKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./WellbeingCharacteristicRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="WellbeingCharacteristicCollectionType">
    <xs:sequence>
      <xs:element name="WellbeingCharacteristic" type="WellbeingCharacteristicType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WellbeingCharacteristics" type="WellbeingCharacteristicCollectionType" />


  <!--WellbeingEvent-->

  <xs:complexType name="WellbeingEventType">
    <xs:sequence>
      <xs:element name="WellbeingEventRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="WellbeingEventLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="ReportingProvider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="PhysicalRestraint" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="EventNotes" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PossibleMotivationList" minOccurs="0" nillable="true" type="PossibleMotivationListType" />
      <xs:element name="EventCategoryClass" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingEventCategoryClassType" />
      <xs:element name="EventCategoryList" minOccurs="0" nillable="true" type="WellbeingEventCategoryListType" />
      <xs:element name="ReportingStaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="EventLocationList" minOccurs="0" nillable="true" type="EventLocationListType" />
      <xs:element name="EventLocationDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EventCreationTimeStamp" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="EventDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EventTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="EventDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EventTimePeriod" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingEventTimePeriodType" />
      <xs:element name="ConfidentialFlag" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PersonInvolvementList" minOccurs="0" nillable="true" type="PersonInvolvementListType" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingStatusType" />
      <xs:element name="BehaviourIdentifiedList" minOccurs="0" nillable="true" type="BehaviourIdentifiedListType" />
      <xs:element name="RestraintType" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingEventRestraintTypeType" />
      <xs:element name="ActionTakenList" minOccurs="0" nillable="true" type="ActionTakenListType" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="RelatedWellbeingEventList" minOccurs="0" nillable="true" type="RelatedWellbeingEventListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="WellbeingEvent" type="WellbeingEventType">
    <xs:unique name="WellbeingEventKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./WellbeingEventRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="WellbeingEventCollectionType">
    <xs:sequence>
      <xs:element name="WellbeingEvent" type="WellbeingEventType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WellbeingEvents" type="WellbeingEventCollectionType" />


  <!--WellbeingResponse-->

  <xs:complexType name="WellbeingResponseType">
    <xs:sequence>
      <xs:element name="WellbeingResponseRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="WellbeingResponseLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="PublishedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ResponseStatus" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingStatusType" />
      <xs:element name="ResponseCategory" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingResponseCategoryType" />
      <xs:element name="ResponseNotes" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PersonInvolvementList" minOccurs="0" nillable="true" type="PersonInvolvementListType" />
      <xs:element name="Suspension" minOccurs="0" nillable="true" type="SuspensionContainerType" />
      <xs:element name="Detention" minOccurs="0" nillable="true" type="DetentionContainerType" />
      <xs:element name="PlanRequiredList" minOccurs="0" nillable="true" type="PlanRequiredListType" />
      <xs:element name="Award" minOccurs="0" nillable="true" type="AwardContainerType" />
      <xs:element name="OtherResponse" minOccurs="0" nillable="true" type="OtherWellbeingResponseContainerType" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="WellbeingAlert" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="WellbeingEvent" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="WellbeingAppealList" minOccurs="0" nillable="true" type="WellbeingAppealListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="WellbeingResponse" type="WellbeingResponseType">
    <xs:unique name="WellbeingResponseKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./WellbeingResponseRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="WellbeingResponseCollectionType">
    <xs:sequence>
      <xs:element name="WellbeingResponse" type="WellbeingResponseType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WellbeingResponses" type="WellbeingResponseCollectionType" />


  <!--WellbeingAppeal-->

  <xs:complexType name="WellbeingAppealType">
    <xs:sequence>
      <xs:element name="WellbeingAppealRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="WellbeingAppealLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="WellbeingResponse" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="WellbeingAlert" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="AppealStatus" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingAppealStatusType" />
      <xs:element name="RegisteredDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AppealNotes" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AppealOutcome" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingAppealOutcomeType" />
      <xs:element name="AppealDeterminationBy" minOccurs="0" nillable="true" type="NZCodeSetsAppealDeterminationByType" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="WellbeingAppeal" type="WellbeingAppealType">
    <xs:unique name="WellbeingAppealKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./WellbeingAppealRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="WellbeingAppealCollectionType">
    <xs:sequence>
      <xs:element name="WellbeingAppeal" type="WellbeingAppealType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="WellbeingAppeals" type="WellbeingAppealCollectionType" />


  <!--StudentActivityParticipation-->

  <xs:complexType name="StudentActivityParticipationType">
    <xs:sequence>
      <xs:element name="StudentActivityParticipationRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentActivityParticipationLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="ActivityGroup" minOccurs="0" nillable="true" type="NZCodeSetsStudentActivityGroupType" />
      <xs:element name="ActivityType" minOccurs="0" nillable="true" type="NZCodeSetsStudentActivityTypeType" />
      <xs:element name="ActivityName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="LearningArea" minOccurs="0" nillable="true" type="NZCodeSetsLearningAreaType" />
      <xs:element name="ParticipationComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecognitionList" minOccurs="0" nillable="true" type="RecognitionListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentActivityParticipation" type="StudentActivityParticipationType">
    <xs:unique name="StudentActivityParticipationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentActivityParticipationRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentActivityParticipationCollectionType">
    <xs:sequence>
      <xs:element name="StudentActivityParticipation" type="StudentActivityParticipationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentActivityParticipations" type="StudentActivityParticipationCollectionType" />


  <!--StudentPhysicalRestraint-->

  <xs:complexType name="StudentPhysicalRestraintType">
    <xs:sequence>
      <xs:element name="StudentPhysicalRestraintRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentPhysicalRestraintLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="PrincipalOrDelegate" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="WellbeingEvent" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ConsideredNecessaryReason" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FirstTimeStudentRestrained" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="IncidentDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocationDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OtherComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ReportedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="RestraintEndedTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="RestraintStartedTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="RestraintReason" minOccurs="0" nillable="true" type="NZCodeSetsRestraintReasonType" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="RestraintWitnessList" minOccurs="0" nillable="true" type="RestraintWitnessListType" />
      <xs:element name="RestraintAdministeredByList" minOccurs="0" nillable="true" type="RestraintAdministeredByListType" />
      <xs:element name="BehaviourDirectedAtList" minOccurs="0" nillable="true" type="BehaviourDirectedAtListType" />
      <xs:element name="StaffReflectionList" minOccurs="0" nillable="true" type="StaffReflectionListType" />
      <xs:element name="RestraintDebriefingList" minOccurs="0" nillable="true" type="RestraintDebriefingListType" />
      <xs:element name="RestraintQuestionList" minOccurs="0" nillable="true" type="RestraintQuestionListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentPhysicalRestraint" type="StudentPhysicalRestraintType">
    <xs:unique name="StudentPhysicalRestraintKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentPhysicalRestraintRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentPhysicalRestraintCollectionType">
    <xs:sequence>
      <xs:element name="StudentPhysicalRestraint" type="StudentPhysicalRestraintType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentPhysicalRestraints" type="StudentPhysicalRestraintCollectionType" />


  <!--StudentVoice-->

  <xs:complexType name="StudentVoiceType">
    <xs:sequence>
      <xs:element name="StudentVoiceRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentVoiceLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Provider" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="VoiceType" minOccurs="0" nillable="true" type="NZCodeSetsStudentVoiceTypeType" />
      <xs:element name="StudentVoiceNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StudentInterestList" minOccurs="0" nillable="true" type="StudentInterestListType" />
      <xs:element name="SocialGoalList" minOccurs="0" nillable="true" type="SocialGoalListType" />
      <xs:element name="AcademicGoalList" minOccurs="0" nillable="true" type="AcademicGoalListType" />
      <xs:element name="CareerGoalList" minOccurs="0" nillable="true" type="CareerGoalListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentVoice" type="StudentVoiceType">
    <xs:unique name="StudentVoiceKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentVoiceRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentVoiceCollectionType">
    <xs:sequence>
      <xs:element name="StudentVoice" type="StudentVoiceType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentVoices" type="StudentVoiceCollectionType" />


  <!--StudentLearningSupport-->

  <xs:complexType name="StudentLearningSupportType">
    <xs:sequence>
      <xs:element name="StudentLearningSupportRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentLearningSupportLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="LearnerStatus" minOccurs="0" type="NZCodeSetsLearningSupportLearnerStatusType" />
      <xs:element name="LearnerArchivedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="StudentConsentList" minOccurs="0" type="StudentConsentListType" />
      <xs:element name="DyslexiaScreeningTool" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="OtherScreening" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="OtherScreeningDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AdolescentHealthScreening" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="NonAttendance" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="NewToNewZealand" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="NumberOfSchoolChanges" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="B4SchoolCheck" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="OtherFamilyContext" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="OtherFamilyContextDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StudentVoiceList" minOccurs="0" nillable="true" type="StudentVoiceListType" />
      <xs:element name="SupportNeedList" minOccurs="0" nillable="true" type="SupportNeedListType" />
      <xs:element name="LearnerInterests" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LearnerWhanauGoal" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="LearnerWhanauVoice" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentLearningSupport" type="StudentLearningSupportType">
    <xs:unique name="StudentLearningSupportKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentLearningSupportRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentLearningSupportCollectionType">
    <xs:sequence>
      <xs:element name="StudentLearningSupport" type="StudentLearningSupportType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentLearningSupports" type="StudentLearningSupportCollectionType" />


  <!--StudentLearningSupportResponse-->

  <xs:complexType name="StudentLearningSupportResponseType">
    <xs:sequence>
      <xs:element name="StudentLearningSupportResponseRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentLearningSupportResponseLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="LearningSupportNeed" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ResponseType" minOccurs="0" type="NZCodeSetsLearningSupportResponseTypeType" />
      <xs:element name="ResponseDetail" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportResponseDetailType" />
      <xs:element name="ReviewDate" minOccurs="0" type="xs:date" />
      <xs:element name="ResponseGoals" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ResponseNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="NoteList" minOccurs="0" nillable="true" type="NoteListType" />
      <xs:element name="ResponseDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="TierOfResponse" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportResponseTierType" />
      <xs:choice>
        <xs:element name="ExternalResponse" minOccurs="0" nillable="true" type="SupportNeedExternalResponseType" />
        <xs:element name="InternalResponse" minOccurs="0" nillable="true" type="SupportNeedInternalResponseType" />
      </xs:choice>
      <xs:element name="ReviewList" minOccurs="0" nillable="true" type="SupportNeedResponseReviewListType" />
      <xs:element name="AttachmentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="CompletionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Outcome" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportResponseOutcomeType" />
      <xs:element name="OutcomeComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ClosureStatus" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportResponseClosureStatusType" />
      <xs:element name="ClosureStatusDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CompletionNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RecordAudit" minOccurs="0" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentLearningSupportResponse" type="StudentLearningSupportResponseType">
    <xs:unique name="StudentLearningSupportResponseKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentLearningSupportResponseRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentLearningSupportResponseCollectionType">
    <xs:sequence>
      <xs:element name="StudentLearningSupportResponse" type="StudentLearningSupportResponseType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentLearningSupportResponses" type="StudentLearningSupportResponseCollectionType" />


  <!--AssessmentTask-->

  <xs:complexType name="AssessmentTaskType">
    <xs:sequence>
      <xs:element name="AssessmentTaskRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="AssessmentTaskLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AssessmentName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="OrganisationInvolvedList" minOccurs="0" type="OrganisationInvolvedListType" />
      <xs:element name="TeachingGroup" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StudentList" minOccurs="0" nillable="true" type="StudentListType" />
      <xs:element name="StaffInvolvedList" minOccurs="0" nillable="true" type="StaffInvolvedListType" />
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PointsPossible" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="DetailedDescriptionURL" minOccurs="0" nillable="true" type="xs:anyURI" />
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType" />
      <xs:element name="AssessmentMethodology" minOccurs="0" type="NZCodeSetsAssessmentMethodologyType" />
      <xs:element name="EvaluationType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentEvaluationTypeType" />
      <xs:element name="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType" />
      <xs:element name="AssessmentToolUsed" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolType" />
      <xs:element name="AssessmentToolTest" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolTestType" />
      <xs:element name="AssessmentPurpose" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubAssessmentTaskList" minOccurs="0" nillable="true" type="AssessmentTaskListType" />
      <xs:element name="PrerequisiteList" minOccurs="0" nillable="true" type="PrerequisiteListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="AssessedAtYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="StandardType" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardTypeType" />
      <xs:element name="SpecialAssessmentConditionExclusionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="Timeframe" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTimeframeType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="AssessmentTask" type="AssessmentTaskType">
    <xs:unique name="AssessmentTaskKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./AssessmentTaskRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="AssessmentTaskCollectionType">
    <xs:sequence>
      <xs:element name="AssessmentTask" type="AssessmentTaskType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="AssessmentTasks" type="AssessmentTaskCollectionType" />


  <!--StudentAssessmentTaskResult-->

  <xs:complexType name="StudentAssessmentTaskResultType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskResultRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAssessmentTaskResultLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="NZQAEntryId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AssessmentTask" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StudentAssessmentTask" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType" />
      <xs:element name="AssessmentMethodology" minOccurs="0" type="NZCodeSetsAssessmentMethodologyType" />
      <xs:element name="OrganisationInvolvedList" minOccurs="0" type="OrganisationInvolvedListType" />
      <xs:element name="StaffInvolvedList" minOccurs="0" nillable="true" type="StaffInvolvedListType" />
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="AssessedAtYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType" />
      <xs:element name="AssessmentToolUsed" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolType" />
      <xs:element name="AssessmentToolTest" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolTestType" />
      <xs:element name="Timeframe" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTimeframeType" />
      <xs:element name="AssessmentAttempt" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="EvaluationType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentEvaluationTypeType" />
      <xs:element name="StandardType" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardTypeType" />
      <xs:element name="DateMarked" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DateTimeAssessed" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="DateStudentNotified" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="NZQAConfirmation" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="Published" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PublishedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Iteration" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="CreditsAchieved" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ResultScoreList" minOccurs="0" type="AssessmentResultScoreListType" />
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="EffortComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OtherComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAssessmentTaskResult" type="StudentAssessmentTaskResultType">
    <xs:unique name="StudentAssessmentTaskResultKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAssessmentTaskResultRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentAssessmentTaskResultCollectionType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskResult" type="StudentAssessmentTaskResultType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAssessmentTaskResults" type="StudentAssessmentTaskResultCollectionType" />


  <!--StudentAssessmentTaskRegistration-->

  <xs:complexType name="StudentAssessmentTaskRegistrationType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskRegistrationRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAssessmentTaskRegistrationLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="AssessmentRegistrationStatus" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentRegistrationStatusType" />
      <xs:element name="OrganisationInvolvedList" minOccurs="0" type="OrganisationInvolvedListType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="AssessmentTask" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="NZQA" minOccurs="0" nillable="true" type="NZQAAssessmentRegistrationType" />
      <xs:element name="SpecialAssessmentConditionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="LearningStandard" minOccurs="0" nillable="true" type="LearningStandardObjectReferenceType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType" />
      <xs:element name="YearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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="DateRegistered" minOccurs="0" type="xs:date" />
      <xs:element name="AssessmentYear" minOccurs="0" type="xs:gYear" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAssessmentTaskRegistration" type="StudentAssessmentTaskRegistrationType">
    <xs:unique name="StudentAssessmentTaskRegistrationKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAssessmentTaskRegistrationRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentAssessmentTaskRegistrationCollectionType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskRegistration" type="StudentAssessmentTaskRegistrationType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAssessmentTaskRegistrations" type="StudentAssessmentTaskRegistrationCollectionType" />


  <!--StudentAssessmentTask-->

  <xs:complexType name="StudentAssessmentTaskType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTaskRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAssessmentTaskLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="AssessmentTask" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="StudentAssessmentTaskRegistration" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="OrganisationInvolvedList" minOccurs="0" type="OrganisationInvolvedListType" />
      <xs:element name="StaffInvolvedList" minOccurs="0" nillable="true" type="StaffInvolvedListType" />
      <xs:element name="DateTimeAssessmentScheduled" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="DateTimeAssessed" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="Status" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentStatusType" />
      <xs:element name="NCEAStatusDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AssessmentAttempt" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="SpecialAssessmentConditionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAssessmentTask" type="StudentAssessmentTaskType">
    <xs:unique name="StudentAssessmentTaskKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAssessmentTaskRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentAssessmentTaskCollectionType">
    <xs:sequence>
      <xs:element name="StudentAssessmentTask" type="StudentAssessmentTaskType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAssessmentTasks" type="StudentAssessmentTaskCollectionType" />


  <!--StudentAttainment-->

  <xs:complexType name="StudentAttainmentType">
    <xs:sequence>
      <xs:element name="StudentAttainmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentAttainmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="GrantingOrganisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="Attainment" minOccurs="0" type="NamedObjectReferenceType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="AuthorisingStaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="DateAttained" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="YearAttained" minOccurs="0" nillable="true" type="xs:gYear" />
      <xs:element name="JustificationList" minOccurs="0" nillable="true" type="JustificationListType" />
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType" />
      <xs:element name="EndorsementLevel" minOccurs="0" nillable="true" type="NZCodeSetsNCEAEndorsementLevelType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentAttainment" type="StudentAttainmentType">
    <xs:unique name="StudentAttainmentKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentAttainmentRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentAttainmentCollectionType">
    <xs:sequence>
      <xs:element name="StudentAttainment" type="StudentAttainmentType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentAttainments" type="StudentAttainmentCollectionType" />


  <!--StudentCurriculumProgressReport-->

  <xs:complexType name="StudentCurriculumProgressReportType">
    <xs:sequence>
      <xs:element name="StudentCurriculumProgressReportRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="StudentCurriculumProgressReportLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Organisation" minOccurs="0" type="OrganisationObjectReferenceType" />
      <xs:element name="TeachingGroup" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="AuthorList" minOccurs="0" nillable="true" type="ProgressReportAuthorListType" />
      <xs:element name="RepositoryReceivedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TimeFrame" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumProgressReportTimeframeType" />
      <xs:element name="TechnologyClassList" minOccurs="0" nillable="true" type="TechnologyClassListType" />
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType" />
    </xs:sequence>
  </xs:complexType>

  <xs:element name="StudentCurriculumProgressReport" type="StudentCurriculumProgressReportType">
    <xs:unique name="StudentCurriculumProgressReportKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./StudentCurriculumProgressReportRefId" />
    </xs:unique>
  </xs:element>

  <xs:complexType name="StudentCurriculumProgressReportCollectionType">
    <xs:sequence>
      <xs:element name="StudentCurriculumProgressReport" type="StudentCurriculumProgressReportType" minOccurs="0" maxOccurs="unbounded" />
    </xs:sequence>
  </xs:complexType>
  <xs:element name="StudentCurriculumProgressReports" type="StudentCurriculumProgressReportCollectionType" />

  <xs:simpleType name="NZCodeSetsYesOrNoCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="N" />
      <xs:enumeration value="Y" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsYesNoNotRequiredType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="N" />
      <xs:enumeration value="R" />
      <xs:enumeration value="Y" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsReferrableDataObjectsType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="Organisation" />
      <xs:enumeration value="Provider" />
      <xs:enumeration value="AcademicDepartment" />
      <xs:enumeration value="ProviderRelationship" />
      <xs:enumeration value="ProviderCourse" />
      <xs:enumeration value="LearningStandard" />
      <xs:enumeration value="Credential" />
      <xs:enumeration value="StaffPersonal" />
      <xs:enumeration value="StaffAssignment" />
      <xs:enumeration value="StaffTeachingGroupAssignment" />
      <xs:enumeration value="StudentPersonal" />
      <xs:enumeration value="StudentContactPersonal" />
      <xs:enumeration value="StudentContactRelationship" />
      <xs:enumeration value="StudentProviderEnrolment" />
      <xs:enumeration value="StudentTeachingGroupEnrolment" />
      <xs:enumeration value="TeachingGroup" />
      <xs:enumeration value="StudentAttendanceTimeList" />
      <xs:enumeration value="StudentAttendanceSummary" />
      <xs:enumeration value="AssessmentTask" />
      <xs:enumeration value="StudentAssessmentTaskRegistration" />
      <xs:enumeration value="StudentAssessmentTask" />
      <xs:enumeration value="StudentAssessmentTaskResult" />
      <xs:enumeration value="StudentAttainment" />
      <xs:enumeration value="WellbeingAlert" />
      <xs:enumeration value="WellbeingCharacteristic" />
      <xs:enumeration value="WellbeingEvent" />
      <xs:enumeration value="WellbeingResponse" />
      <xs:enumeration value="WellbeingAppeal" />
      <xs:enumeration value="Document" />
      <xs:enumeration value="StudentVoice" />
      <xs:enumeration value="StudentActivityParticipation" />
      <xs:enumeration value="StudentLearningSupport" />
      <xs:enumeration value="StudentLearningSupportResponse" />
      <xs:enumeration value="StudentCurriculumProgressReport" />
      <xs:enumeration value="StudentPhysicalRestraint" />
      <xs:enumeration value="StudentConsent" />
      <xs:enumeration value="Schedule" />
      <xs:enumeration value="BellSchedule" />
      <xs:enumeration value="ScheduleDate" />
      <xs:enumeration value="SchedulePeriod" />
      <xs:enumeration value="ScheduleEvent" />
      <xs:enumeration value="ScheduleHoliday" />
      <xs:enumeration value="ScheduleAcademicDay" />
      <xs:enumeration value="ScheduleTerm" />
      <xs:enumeration value="TeachingGroupEvent" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsConsentGivenByType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NOT" />
      <xs:enumeration value="STU" />
      <xs:enumeration value="WHA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentConsentToType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PHT" />
      <xs:enumeration value="ART" />
      <xs:enumeration value="WRI" />
      <xs:enumeration value="MED" />
      <xs:enumeration value="ADM" />
      <xs:enumeration value="LSC" />
      <xs:enumeration value="LSR" />
      <xs:enumeration value="PAR" />
      <xs:enumeration value="TER" />
      <xs:enumeration value="TRI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsDeletedReasonType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="LEA" />
      <xs:enumeration value="RES" />
      <xs:enumeration value="SUP" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRelationshipToStudentType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FAT" />
      <xs:enumeration value="UNC" />
      <xs:enumeration value="LEG" />
      <xs:enumeration value="HOS" />
      <xs:enumeration value="BRO" />
      <xs:enumeration value="FRI" />
      <xs:enumeration value="SIS" />
      <xs:enumeration value="OTH" />
      <xs:enumeration value="MOT" />
      <xs:enumeration value="GRM" />
      <xs:enumeration value="AUN" />
      <xs:enumeration value="STF" />
      <xs:enumeration value="NOT" />
      <xs:enumeration value="GRF" />
      <xs:enumeration value="STM" />
      <xs:enumeration value="WHA" />
      <xs:enumeration value="CAS" />
      <xs:enumeration value="EXT" />
      <xs:enumeration value="FOF" />
      <xs:enumeration value="FOM" />
      <xs:enumeration value="FOS" />
      <xs:enumeration value="GDF" />
      <xs:enumeration value="GDM" />
      <xs:enumeration value="GDP" />
      <xs:enumeration value="HOF" />
      <xs:enumeration value="HOM" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="PAI" />
      <xs:enumeration value="PAP" />
      <xs:enumeration value="PAR" />
      <xs:enumeration value="GRP" />
      <xs:enumeration value="SIB" />
      <xs:enumeration value="STP" />
      <xs:enumeration value="TRU" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentContactRelationshipStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsNameUsageTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PRF" />
      <xs:enumeration value="FON" />
      <xs:enumeration value="PRV" />
      <xs:enumeration value="AKA" />
      <xs:enumeration value="BTH" />
      <xs:enumeration value="LGL" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsGenderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="31" />
      <xs:enumeration value="32" />
      <xs:enumeration value="9" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCitizenshipStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AUCI" />
      <xs:enumeration value="NZCI" />
      <xs:enumeration value="OTOV" />
      <xs:enumeration value="NZRE" />
      <xs:enumeration value="NOPR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsVerificationSourceType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZBIR" />
      <xs:enumeration value="NZBCO" />
      <xs:enumeration value="NZPAS" />
      <xs:enumeration value="NZCIT" />
      <xs:enumeration value="BIRCE" />
      <xs:enumeration value="BCCON" />
      <xs:enumeration value="CENAT" />
      <xs:enumeration value="CAREG" />
      <xs:enumeration value="LETCO" />
      <xs:enumeration value="OTHPA" />
      <xs:enumeration value="AUSPA" />
      <xs:enumeration value="VISDO" />
      <xs:enumeration value="VISST" />
      <xs:enumeration value="PRINC" />
      <xs:enumeration value="MOEAP" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLanguageUsageType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FL" />
      <xs:enumeration value="SL" />
      <xs:enumeration value="SH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLanguageType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZS01" />
      <xs:enumeration value="NZS011" />
      <xs:enumeration value="NZS01100" />
      <xs:enumeration value="NZS01110" />
      <xs:enumeration value="NZS01111" />
      <xs:enumeration value="NZS01112" />
      <xs:enumeration value="NZS01113" />
      <xs:enumeration value="NZS01114" />
      <xs:enumeration value="NZS01115" />
      <xs:enumeration value="NZS01116" />
      <xs:enumeration value="NZS01199" />
      <xs:enumeration value="NZS012" />
      <xs:enumeration value="NZS01200" />
      <xs:enumeration value="NZS01210" />
      <xs:enumeration value="NZS01211" />
      <xs:enumeration value="NZS01212" />
      <xs:enumeration value="NZS01213" />
      <xs:enumeration value="NZS01299" />
      <xs:enumeration value="NZS02" />
      <xs:enumeration value="NZS021" />
      <xs:enumeration value="NZS02100" />
      <xs:enumeration value="NZS02110" />
      <xs:enumeration value="NZS02111" />
      <xs:enumeration value="NZS02112" />
      <xs:enumeration value="NZS02113" />
      <xs:enumeration value="NZS02114" />
      <xs:enumeration value="NZS02115" />
      <xs:enumeration value="NZS02199" />
      <xs:enumeration value="NZS03" />
      <xs:enumeration value="NZS031" />
      <xs:enumeration value="NZS03110" />
      <xs:enumeration value="NZS04" />
      <xs:enumeration value="NZS041" />
      <xs:enumeration value="NZS04100" />
      <xs:enumeration value="NZS04110" />
      <xs:enumeration value="NZS04111" />
      <xs:enumeration value="NZS04199" />
      <xs:enumeration value="NZS042" />
      <xs:enumeration value="NZS04200" />
      <xs:enumeration value="NZS04210" />
      <xs:enumeration value="NZS04211" />
      <xs:enumeration value="NZS04212" />
      <xs:enumeration value="NZS04213" />
      <xs:enumeration value="NZS04214" />
      <xs:enumeration value="NZS04215" />
      <xs:enumeration value="NZS04216" />
      <xs:enumeration value="NZS04217" />
      <xs:enumeration value="NZS04218" />
      <xs:enumeration value="NZS04219" />
      <xs:enumeration value="NZS04299" />
      <xs:enumeration value="NZS05" />
      <xs:enumeration value="NZS051" />
      <xs:enumeration value="NZS05110" />
      <xs:enumeration value="NZS06" />
      <xs:enumeration value="NZS061" />
      <xs:enumeration value="NZS06110" />
      <xs:enumeration value="NZS07" />
      <xs:enumeration value="NZS071" />
      <xs:enumeration value="NZS07100" />
      <xs:enumeration value="NZS07110" />
      <xs:enumeration value="NZS07111" />
      <xs:enumeration value="NZS07112" />
      <xs:enumeration value="NZS07113" />
      <xs:enumeration value="NZS07114" />
      <xs:enumeration value="NZS07115" />
      <xs:enumeration value="NZS07116" />
      <xs:enumeration value="NZS07117" />
      <xs:enumeration value="NZS07118" />
      <xs:enumeration value="NZS07119" />
      <xs:enumeration value="NZS07120" />
      <xs:enumeration value="NZS07121" />
      <xs:enumeration value="NZS07122" />
      <xs:enumeration value="NZS07123" />
      <xs:enumeration value="NZS07199" />
      <xs:enumeration value="NZS08" />
      <xs:enumeration value="NZS081" />
      <xs:enumeration value="NZS08100" />
      <xs:enumeration value="NZS08110" />
      <xs:enumeration value="NZS08111" />
      <xs:enumeration value="NZS08112" />
      <xs:enumeration value="NZS08113" />
      <xs:enumeration value="NZS08199" />
      <xs:enumeration value="NZS09" />
      <xs:enumeration value="NZS091" />
      <xs:enumeration value="NZS09100" />
      <xs:enumeration value="NZS09110" />
      <xs:enumeration value="NZS09111" />
      <xs:enumeration value="NZS09112" />
      <xs:enumeration value="NZS09199" />
      <xs:enumeration value="NZS10" />
      <xs:enumeration value="NZS101" />
      <xs:enumeration value="NZS10100" />
      <xs:enumeration value="NZS10110" />
      <xs:enumeration value="NZS10111" />
      <xs:enumeration value="NZS10199" />
      <xs:enumeration value="NZS11" />
      <xs:enumeration value="NZS111" />
      <xs:enumeration value="NZS11100" />
      <xs:enumeration value="NZS11110" />
      <xs:enumeration value="NZS11111" />
      <xs:enumeration value="NZS11112" />
      <xs:enumeration value="NZS11199" />
      <xs:enumeration value="NZS12" />
      <xs:enumeration value="NZS121" />
      <xs:enumeration value="NZS12100" />
      <xs:enumeration value="NZS12110" />
      <xs:enumeration value="NZS12111" />
      <xs:enumeration value="NZS12112" />
      <xs:enumeration value="NZS12113" />
      <xs:enumeration value="NZS12199" />
      <xs:enumeration value="NZS13" />
      <xs:enumeration value="NZS131" />
      <xs:enumeration value="NZS13100" />
      <xs:enumeration value="NZS13110" />
      <xs:enumeration value="NZS13111" />
      <xs:enumeration value="NZS13112" />
      <xs:enumeration value="NZS13113" />
      <xs:enumeration value="NZS13114" />
      <xs:enumeration value="NZS13115" />
      <xs:enumeration value="NZS13199" />
      <xs:enumeration value="NZS132" />
      <xs:enumeration value="NZS13200" />
      <xs:enumeration value="NZS13210" />
      <xs:enumeration value="NZS13211" />
      <xs:enumeration value="NZS13299" />
      <xs:enumeration value="NZS14" />
      <xs:enumeration value="NZS141" />
      <xs:enumeration value="NZS14100" />
      <xs:enumeration value="NZS14110" />
      <xs:enumeration value="NZS14199" />
      <xs:enumeration value="NZS142" />
      <xs:enumeration value="NZS14200" />
      <xs:enumeration value="NZS14210" />
      <xs:enumeration value="NZS14299" />
      <xs:enumeration value="NZS15" />
      <xs:enumeration value="NZS151" />
      <xs:enumeration value="NZS15100" />
      <xs:enumeration value="NZS15110" />
      <xs:enumeration value="NZS15111" />
      <xs:enumeration value="NZS15112" />
      <xs:enumeration value="NZS15199" />
      <xs:enumeration value="NZS16" />
      <xs:enumeration value="NZS161" />
      <xs:enumeration value="NZS16100" />
      <xs:enumeration value="NZS16110" />
      <xs:enumeration value="NZS16111" />
      <xs:enumeration value="NZS16112" />
      <xs:enumeration value="NZS16113" />
      <xs:enumeration value="NZS16114" />
      <xs:enumeration value="NZS16115" />
      <xs:enumeration value="NZS16116" />
      <xs:enumeration value="NZS16117" />
      <xs:enumeration value="NZS16118" />
      <xs:enumeration value="NZS16119" />
      <xs:enumeration value="NZS16120" />
      <xs:enumeration value="NZS16199" />
      <xs:enumeration value="NZS162" />
      <xs:enumeration value="NZS16210" />
      <xs:enumeration value="NZS163" />
      <xs:enumeration value="NZS16300" />
      <xs:enumeration value="NZS16310" />
      <xs:enumeration value="NZS16311" />
      <xs:enumeration value="NZS16399" />
      <xs:enumeration value="NZS164" />
      <xs:enumeration value="NZS16410" />
      <xs:enumeration value="NZS17" />
      <xs:enumeration value="NZS171" />
      <xs:enumeration value="NZS17100" />
      <xs:enumeration value="NZS17110" />
      <xs:enumeration value="NZS17111" />
      <xs:enumeration value="NZS17112" />
      <xs:enumeration value="NZS17113" />
      <xs:enumeration value="NZS17114" />
      <xs:enumeration value="NZS17115" />
      <xs:enumeration value="NZS17116" />
      <xs:enumeration value="NZS17199" />
      <xs:enumeration value="NZS18" />
      <xs:enumeration value="NZS181" />
      <xs:enumeration value="NZS18100" />
      <xs:enumeration value="NZS18110" />
      <xs:enumeration value="NZS18199" />
      <xs:enumeration value="NZS182" />
      <xs:enumeration value="NZS18200" />
      <xs:enumeration value="NZS18210" />
      <xs:enumeration value="NZS18211" />
      <xs:enumeration value="NZS18212" />
      <xs:enumeration value="NZS18213" />
      <xs:enumeration value="NZS18214" />
      <xs:enumeration value="NZS18215" />
      <xs:enumeration value="NZS18299" />
      <xs:enumeration value="NZS183" />
      <xs:enumeration value="NZS18300" />
      <xs:enumeration value="NZS18310" />
      <xs:enumeration value="NZS18399" />
      <xs:enumeration value="NZS19" />
      <xs:enumeration value="NZS191" />
      <xs:enumeration value="NZS19100" />
      <xs:enumeration value="NZS19110" />
      <xs:enumeration value="NZS19111" />
      <xs:enumeration value="NZS19112" />
      <xs:enumeration value="NZS19199" />
      <xs:enumeration value="NZS192" />
      <xs:enumeration value="NZS19200" />
      <xs:enumeration value="NZS19210" />
      <xs:enumeration value="NZS19299" />
      <xs:enumeration value="NZS20" />
      <xs:enumeration value="NZS201" />
      <xs:enumeration value="NZS20100" />
      <xs:enumeration value="NZS20110" />
      <xs:enumeration value="NZS20111" />
      <xs:enumeration value="NZS20112" />
      <xs:enumeration value="NZS20113" />
      <xs:enumeration value="NZS20114" />
      <xs:enumeration value="NZS20115" />
      <xs:enumeration value="NZS20116" />
      <xs:enumeration value="NZS20117" />
      <xs:enumeration value="NZS20118" />
      <xs:enumeration value="NZS20199" />
      <xs:enumeration value="NZS21" />
      <xs:enumeration value="NZS211" />
      <xs:enumeration value="NZS21110" />
      <xs:enumeration value="NZS212" />
      <xs:enumeration value="NZS21210" />
      <xs:enumeration value="NZS213" />
      <xs:enumeration value="NZS21310" />
      <xs:enumeration value="NZS219" />
      <xs:enumeration value="NZS21999" />
      <xs:enumeration value="NZS22" />
      <xs:enumeration value="NZS221" />
      <xs:enumeration value="NZS22110" />
      <xs:enumeration value="NZS222" />
      <xs:enumeration value="NZS22210" />
      <xs:enumeration value="NZS223" />
      <xs:enumeration value="NZS22310" />
      <xs:enumeration value="NZS224" />
      <xs:enumeration value="NZS22400" />
      <xs:enumeration value="NZS22410" />
      <xs:enumeration value="NZS22499" />
      <xs:enumeration value="NZS225" />
      <xs:enumeration value="NZS22510" />
      <xs:enumeration value="NZS226" />
      <xs:enumeration value="NZS22610" />
      <xs:enumeration value="NZS229" />
      <xs:enumeration value="NZS22910" />
      <xs:enumeration value="NZS23" />
      <xs:enumeration value="NZS231" />
      <xs:enumeration value="NZS23100" />
      <xs:enumeration value="NZS23110" />
      <xs:enumeration value="NZS23199" />
      <xs:enumeration value="NZS24" />
      <xs:enumeration value="NZS241" />
      <xs:enumeration value="NZS24100" />
      <xs:enumeration value="NZS24110" />
      <xs:enumeration value="NZS24111" />
      <xs:enumeration value="NZS24112" />
      <xs:enumeration value="NZS24113" />
      <xs:enumeration value="NZS24114" />
      <xs:enumeration value="NZS24199" />
      <xs:enumeration value="NZS44" />
      <xs:enumeration value="NZS55" />
      <xs:enumeration value="NZS66" />
      <xs:enumeration value="NZS77" />
      <xs:enumeration value="NZS88" />
      <xs:enumeration value="NZS99" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEthnicityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="10" />
      <xs:enumeration value="100" />
      <xs:enumeration value="10000" />
      <xs:enumeration value="11" />
      <xs:enumeration value="111" />
      <xs:enumeration value="11111" />
      <xs:enumeration value="12" />
      <xs:enumeration value="121" />
      <xs:enumeration value="12100" />
      <xs:enumeration value="12111" />
      <xs:enumeration value="12112" />
      <xs:enumeration value="12113" />
      <xs:enumeration value="12114" />
      <xs:enumeration value="12115" />
      <xs:enumeration value="12116" />
      <xs:enumeration value="12117" />
      <xs:enumeration value="12118" />
      <xs:enumeration value="12119" />
      <xs:enumeration value="12120" />
      <xs:enumeration value="12121" />
      <xs:enumeration value="12199" />
      <xs:enumeration value="122" />
      <xs:enumeration value="12211" />
      <xs:enumeration value="123" />
      <xs:enumeration value="12311" />
      <xs:enumeration value="124" />
      <xs:enumeration value="12411" />
      <xs:enumeration value="125" />
      <xs:enumeration value="12500" />
      <xs:enumeration value="12511" />
      <xs:enumeration value="12512" />
      <xs:enumeration value="12513" />
      <xs:enumeration value="12514" />
      <xs:enumeration value="12515" />
      <xs:enumeration value="12516" />
      <xs:enumeration value="12599" />
      <xs:enumeration value="126" />
      <xs:enumeration value="12611" />
      <xs:enumeration value="127" />
      <xs:enumeration value="12711" />
      <xs:enumeration value="128" />
      <xs:enumeration value="12811" />
      <xs:enumeration value="129" />
      <xs:enumeration value="12911" />
      <xs:enumeration value="12912" />
      <xs:enumeration value="12913" />
      <xs:enumeration value="12914" />
      <xs:enumeration value="12915" />
      <xs:enumeration value="12916" />
      <xs:enumeration value="12917" />
      <xs:enumeration value="12918" />
      <xs:enumeration value="12919" />
      <xs:enumeration value="12920" />
      <xs:enumeration value="12921" />
      <xs:enumeration value="12922" />
      <xs:enumeration value="12923" />
      <xs:enumeration value="12924" />
      <xs:enumeration value="12925" />
      <xs:enumeration value="12926" />
      <xs:enumeration value="12927" />
      <xs:enumeration value="12928" />
      <xs:enumeration value="12929" />
      <xs:enumeration value="12930" />
      <xs:enumeration value="12931" />
      <xs:enumeration value="12932" />
      <xs:enumeration value="12933" />
      <xs:enumeration value="12934" />
      <xs:enumeration value="12935" />
      <xs:enumeration value="12936" />
      <xs:enumeration value="12937" />
      <xs:enumeration value="12938" />
      <xs:enumeration value="12939" />
      <xs:enumeration value="12940" />
      <xs:enumeration value="12941" />
      <xs:enumeration value="12942" />
      <xs:enumeration value="12943" />
      <xs:enumeration value="12944" />
      <xs:enumeration value="12945" />
      <xs:enumeration value="12946" />
      <xs:enumeration value="12947" />
      <xs:enumeration value="12948" />
      <xs:enumeration value="12949" />
      <xs:enumeration value="12950" />
      <xs:enumeration value="12999" />
      <xs:enumeration value="2" />
      <xs:enumeration value="21" />
      <xs:enumeration value="211" />
      <xs:enumeration value="21111" />
      <xs:enumeration value="3" />
      <xs:enumeration value="30" />
      <xs:enumeration value="300" />
      <xs:enumeration value="30000" />
      <xs:enumeration value="31" />
      <xs:enumeration value="311" />
      <xs:enumeration value="31111" />
      <xs:enumeration value="32" />
      <xs:enumeration value="321" />
      <xs:enumeration value="32100" />
      <xs:enumeration value="32111" />
      <xs:enumeration value="32112" />
      <xs:enumeration value="32113" />
      <xs:enumeration value="32114" />
      <xs:enumeration value="32115" />
      <xs:enumeration value="32116" />
      <xs:enumeration value="32117" />
      <xs:enumeration value="32118" />
      <xs:enumeration value="32119" />
      <xs:enumeration value="32120" />
      <xs:enumeration value="32121" />
      <xs:enumeration value="33" />
      <xs:enumeration value="331" />
      <xs:enumeration value="33111" />
      <xs:enumeration value="34" />
      <xs:enumeration value="341" />
      <xs:enumeration value="34111" />
      <xs:enumeration value="35" />
      <xs:enumeration value="351" />
      <xs:enumeration value="35111" />
      <xs:enumeration value="36" />
      <xs:enumeration value="361" />
      <xs:enumeration value="36111" />
      <xs:enumeration value="37" />
      <xs:enumeration value="371" />
      <xs:enumeration value="37111" />
      <xs:enumeration value="37112" />
      <xs:enumeration value="37113" />
      <xs:enumeration value="37114" />
      <xs:enumeration value="37115" />
      <xs:enumeration value="37116" />
      <xs:enumeration value="37117" />
      <xs:enumeration value="37118" />
      <xs:enumeration value="37119" />
      <xs:enumeration value="37120" />
      <xs:enumeration value="37121" />
      <xs:enumeration value="37122" />
      <xs:enumeration value="37123" />
      <xs:enumeration value="37124" />
      <xs:enumeration value="37125" />
      <xs:enumeration value="37126" />
      <xs:enumeration value="37127" />
      <xs:enumeration value="37128" />
      <xs:enumeration value="37129" />
      <xs:enumeration value="37130" />
      <xs:enumeration value="37131" />
      <xs:enumeration value="37132" />
      <xs:enumeration value="37133" />
      <xs:enumeration value="37134" />
      <xs:enumeration value="37135" />
      <xs:enumeration value="37136" />
      <xs:enumeration value="37137" />
      <xs:enumeration value="37138" />
      <xs:enumeration value="37139" />
      <xs:enumeration value="37140" />
      <xs:enumeration value="37141" />
      <xs:enumeration value="37142" />
      <xs:enumeration value="37143" />
      <xs:enumeration value="37144" />
      <xs:enumeration value="37145" />
      <xs:enumeration value="37146" />
      <xs:enumeration value="37147" />
      <xs:enumeration value="37148" />
      <xs:enumeration value="37199" />
      <xs:enumeration value="4" />
      <xs:enumeration value="40" />
      <xs:enumeration value="400" />
      <xs:enumeration value="40000" />
      <xs:enumeration value="41" />
      <xs:enumeration value="410" />
      <xs:enumeration value="41000" />
      <xs:enumeration value="411" />
      <xs:enumeration value="41111" />
      <xs:enumeration value="412" />
      <xs:enumeration value="41211" />
      <xs:enumeration value="413" />
      <xs:enumeration value="41311" />
      <xs:enumeration value="414" />
      <xs:enumeration value="41411" />
      <xs:enumeration value="41412" />
      <xs:enumeration value="41413" />
      <xs:enumeration value="41414" />
      <xs:enumeration value="41415" />
      <xs:enumeration value="41499" />
      <xs:enumeration value="42" />
      <xs:enumeration value="421" />
      <xs:enumeration value="42100" />
      <xs:enumeration value="42111" />
      <xs:enumeration value="42112" />
      <xs:enumeration value="42113" />
      <xs:enumeration value="42114" />
      <xs:enumeration value="42115" />
      <xs:enumeration value="42116" />
      <xs:enumeration value="42199" />
      <xs:enumeration value="43" />
      <xs:enumeration value="431" />
      <xs:enumeration value="43100" />
      <xs:enumeration value="43111" />
      <xs:enumeration value="43112" />
      <xs:enumeration value="43113" />
      <xs:enumeration value="43114" />
      <xs:enumeration value="43115" />
      <xs:enumeration value="43116" />
      <xs:enumeration value="43117" />
      <xs:enumeration value="43199" />
      <xs:enumeration value="44" />
      <xs:enumeration value="441" />
      <xs:enumeration value="44100" />
      <xs:enumeration value="44111" />
      <xs:enumeration value="44112" />
      <xs:enumeration value="44199" />
      <xs:enumeration value="442" />
      <xs:enumeration value="44211" />
      <xs:enumeration value="443" />
      <xs:enumeration value="44311" />
      <xs:enumeration value="444" />
      <xs:enumeration value="44411" />
      <xs:enumeration value="44412" />
      <xs:enumeration value="44413" />
      <xs:enumeration value="44414" />
      <xs:enumeration value="44415" />
      <xs:enumeration value="44416" />
      <xs:enumeration value="44499" />
      <xs:enumeration value="5" />
      <xs:enumeration value="51" />
      <xs:enumeration value="511" />
      <xs:enumeration value="51100" />
      <xs:enumeration value="51111" />
      <xs:enumeration value="51112" />
      <xs:enumeration value="51113" />
      <xs:enumeration value="51114" />
      <xs:enumeration value="51115" />
      <xs:enumeration value="51116" />
      <xs:enumeration value="51117" />
      <xs:enumeration value="51118" />
      <xs:enumeration value="51119" />
      <xs:enumeration value="51120" />
      <xs:enumeration value="51121" />
      <xs:enumeration value="51122" />
      <xs:enumeration value="51123" />
      <xs:enumeration value="51124" />
      <xs:enumeration value="51125" />
      <xs:enumeration value="51126" />
      <xs:enumeration value="51127" />
      <xs:enumeration value="51128" />
      <xs:enumeration value="51199" />
      <xs:enumeration value="52" />
      <xs:enumeration value="521" />
      <xs:enumeration value="52100" />
      <xs:enumeration value="52111" />
      <xs:enumeration value="52112" />
      <xs:enumeration value="52113" />
      <xs:enumeration value="52114" />
      <xs:enumeration value="52115" />
      <xs:enumeration value="52116" />
      <xs:enumeration value="52117" />
      <xs:enumeration value="52118" />
      <xs:enumeration value="52119" />
      <xs:enumeration value="52120" />
      <xs:enumeration value="52121" />
      <xs:enumeration value="52122" />
      <xs:enumeration value="52123" />
      <xs:enumeration value="52124" />
      <xs:enumeration value="52125" />
      <xs:enumeration value="52126" />
      <xs:enumeration value="52127" />
      <xs:enumeration value="52128" />
      <xs:enumeration value="52129" />
      <xs:enumeration value="52130" />
      <xs:enumeration value="52199" />
      <xs:enumeration value="53" />
      <xs:enumeration value="531" />
      <xs:enumeration value="53100" />
      <xs:enumeration value="53112" />
      <xs:enumeration value="53113" />
      <xs:enumeration value="53114" />
      <xs:enumeration value="53115" />
      <xs:enumeration value="53116" />
      <xs:enumeration value="53117" />
      <xs:enumeration value="53118" />
      <xs:enumeration value="53119" />
      <xs:enumeration value="53120" />
      <xs:enumeration value="53121" />
      <xs:enumeration value="53122" />
      <xs:enumeration value="53199" />
      <xs:enumeration value="6" />
      <xs:enumeration value="61" />
      <xs:enumeration value="611" />
      <xs:enumeration value="61111" />
      <xs:enumeration value="61112" />
      <xs:enumeration value="61113" />
      <xs:enumeration value="61114" />
      <xs:enumeration value="61115" />
      <xs:enumeration value="61116" />
      <xs:enumeration value="61117" />
      <xs:enumeration value="61118" />
      <xs:enumeration value="61199" />
      <xs:enumeration value="9" />
      <xs:enumeration value="94" />
      <xs:enumeration value="944" />
      <xs:enumeration value="94444" />
      <xs:enumeration value="95" />
      <xs:enumeration value="955" />
      <xs:enumeration value="95555" />
      <xs:enumeration value="96" />
      <xs:enumeration value="966" />
      <xs:enumeration value="96666" />
      <xs:enumeration value="97" />
      <xs:enumeration value="977" />
      <xs:enumeration value="97777" />
      <xs:enumeration value="98" />
      <xs:enumeration value="988" />
      <xs:enumeration value="98888" />
      <xs:enumeration value="99" />
      <xs:enumeration value="999" />
      <xs:enumeration value="99999" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsIwiType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZS01" />
      <xs:enumeration value="NZS0101" />
      <xs:enumeration value="NZS0102" />
      <xs:enumeration value="NZS0103" />
      <xs:enumeration value="NZS0104" />
      <xs:enumeration value="NZS0105" />
      <xs:enumeration value="NZS0106" />
      <xs:enumeration value="NZS0107" />
      <xs:enumeration value="NZS0108" />
      <xs:enumeration value="NZS0109" />
      <xs:enumeration value="NZS0110" />
      <xs:enumeration value="NZS0111" />
      <xs:enumeration value="NZS0112" />
      <xs:enumeration value="NZS0113" />
      <xs:enumeration value="NZS0114" />
      <xs:enumeration value="NZS0115" />
      <xs:enumeration value="NZS0116" />
      <xs:enumeration value="NZS0117" />
      <xs:enumeration value="NZS0118" />
      <xs:enumeration value="NZS0119" />
      <xs:enumeration value="NZS02" />
      <xs:enumeration value="NZS0201" />
      <xs:enumeration value="NZS0202" />
      <xs:enumeration value="NZS0203" />
      <xs:enumeration value="NZS0204" />
      <xs:enumeration value="NZS0205" />
      <xs:enumeration value="NZS0206" />
      <xs:enumeration value="NZS0207" />
      <xs:enumeration value="NZS0208" />
      <xs:enumeration value="NZS0210" />
      <xs:enumeration value="NZS0211" />
      <xs:enumeration value="NZS0212" />
      <xs:enumeration value="NZS03" />
      <xs:enumeration value="NZS0301" />
      <xs:enumeration value="NZS0302" />
      <xs:enumeration value="NZS0303" />
      <xs:enumeration value="NZS0304" />
      <xs:enumeration value="NZS0305" />
      <xs:enumeration value="NZS0306" />
      <xs:enumeration value="NZS0307" />
      <xs:enumeration value="NZS0308" />
      <xs:enumeration value="NZS0309" />
      <xs:enumeration value="NZS0310" />
      <xs:enumeration value="NZS0311" />
      <xs:enumeration value="NZS04" />
      <xs:enumeration value="NZS0401" />
      <xs:enumeration value="NZS0402" />
      <xs:enumeration value="NZS0403" />
      <xs:enumeration value="NZS0404" />
      <xs:enumeration value="NZS0405" />
      <xs:enumeration value="NZS0406" />
      <xs:enumeration value="NZS0407" />
      <xs:enumeration value="NZS0408" />
      <xs:enumeration value="NZS0409" />
      <xs:enumeration value="NZS0410" />
      <xs:enumeration value="NZS0411" />
      <xs:enumeration value="NZS0412" />
      <xs:enumeration value="NZS0413" />
      <xs:enumeration value="NZS0414" />
      <xs:enumeration value="NZS0415" />
      <xs:enumeration value="NZS05" />
      <xs:enumeration value="NZS0501" />
      <xs:enumeration value="NZS0502" />
      <xs:enumeration value="NZS0503" />
      <xs:enumeration value="NZS0504" />
      <xs:enumeration value="NZS0505" />
      <xs:enumeration value="NZS0506" />
      <xs:enumeration value="NZS0507" />
      <xs:enumeration value="NZS0508" />
      <xs:enumeration value="NZS0509" />
      <xs:enumeration value="NZS0510" />
      <xs:enumeration value="NZS0511" />
      <xs:enumeration value="NZS0512" />
      <xs:enumeration value="NZS0513" />
      <xs:enumeration value="NZS06" />
      <xs:enumeration value="NZS0601" />
      <xs:enumeration value="NZS0602" />
      <xs:enumeration value="NZS0603" />
      <xs:enumeration value="NZS0604" />
      <xs:enumeration value="NZS0605" />
      <xs:enumeration value="NZS07" />
      <xs:enumeration value="NZS0701" />
      <xs:enumeration value="NZS0702" />
      <xs:enumeration value="NZS0703" />
      <xs:enumeration value="NZS0704" />
      <xs:enumeration value="NZS0706" />
      <xs:enumeration value="NZS0707" />
      <xs:enumeration value="NZS0708" />
      <xs:enumeration value="NZS0709" />
      <xs:enumeration value="NZS0710" />
      <xs:enumeration value="NZS0711" />
      <xs:enumeration value="NZS0712" />
      <xs:enumeration value="NZS0713" />
      <xs:enumeration value="NZS0714" />
      <xs:enumeration value="NZS0715" />
      <xs:enumeration value="NZS0716" />
      <xs:enumeration value="NZS08" />
      <xs:enumeration value="NZS0801" />
      <xs:enumeration value="NZS0802" />
      <xs:enumeration value="NZS0803" />
      <xs:enumeration value="NZS0804" />
      <xs:enumeration value="NZS0805" />
      <xs:enumeration value="NZS0806" />
      <xs:enumeration value="NZS0807" />
      <xs:enumeration value="NZS0808" />
      <xs:enumeration value="NZS0809" />
      <xs:enumeration value="NZS0810" />
      <xs:enumeration value="NZS09" />
      <xs:enumeration value="NZS0901" />
      <xs:enumeration value="NZS0902" />
      <xs:enumeration value="NZS0903" />
      <xs:enumeration value="NZS0904" />
      <xs:enumeration value="NZS0905" />
      <xs:enumeration value="NZS0906" />
      <xs:enumeration value="NZS0907" />
      <xs:enumeration value="NZS0908" />
      <xs:enumeration value="NZS0909" />
      <xs:enumeration value="NZS0910" />
      <xs:enumeration value="NZS0911" />
      <xs:enumeration value="NZS10" />
      <xs:enumeration value="NZS1001" />
      <xs:enumeration value="NZS1002" />
      <xs:enumeration value="NZS1003" />
      <xs:enumeration value="NZS1004" />
      <xs:enumeration value="NZS1005" />
      <xs:enumeration value="NZS1006" />
      <xs:enumeration value="NZS1007" />
      <xs:enumeration value="NZS1008" />
      <xs:enumeration value="NZS1009" />
      <xs:enumeration value="NZS11" />
      <xs:enumeration value="NZS1101" />
      <xs:enumeration value="NZS1102" />
      <xs:enumeration value="NZS1103" />
      <xs:enumeration value="NZS1104" />
      <xs:enumeration value="NZS1105" />
      <xs:enumeration value="NZS1106" />
      <xs:enumeration value="NZS1107" />
      <xs:enumeration value="NZS1108" />
      <xs:enumeration value="NZS1109" />
      <xs:enumeration value="NZS1110" />
      <xs:enumeration value="NZS1111" />
      <xs:enumeration value="NZS1112" />
      <xs:enumeration value="NZS1113" />
      <xs:enumeration value="NZS20" />
      <xs:enumeration value="NZS2001" />
      <xs:enumeration value="NZS2002" />
      <xs:enumeration value="NZS2003" />
      <xs:enumeration value="NZS2004" />
      <xs:enumeration value="NZS2005" />
      <xs:enumeration value="NZS2006" />
      <xs:enumeration value="NZS2007" />
      <xs:enumeration value="NZS2008" />
      <xs:enumeration value="NZS2009" />
      <xs:enumeration value="NZS2010" />
      <xs:enumeration value="NZS2011" />
      <xs:enumeration value="NZS2012" />
      <xs:enumeration value="NZS2013" />
      <xs:enumeration value="NZS2014" />
      <xs:enumeration value="NZS2015" />
      <xs:enumeration value="NZS2016" />
      <xs:enumeration value="NZS2017" />
      <xs:enumeration value="NZS2018" />
      <xs:enumeration value="NZS21" />
      <xs:enumeration value="NZS2101" />
      <xs:enumeration value="NZS2102" />
      <xs:enumeration value="NZS2103" />
      <xs:enumeration value="NZS2104" />
      <xs:enumeration value="NZS2105" />
      <xs:enumeration value="NZS2106" />
      <xs:enumeration value="NZS2107" />
      <xs:enumeration value="NZS2108" />
      <xs:enumeration value="NZS2109" />
      <xs:enumeration value="NZS2110" />
      <xs:enumeration value="NZS2111" />
      <xs:enumeration value="NZS2112" />
      <xs:enumeration value="NZS2113" />
      <xs:enumeration value="NZS22" />
      <xs:enumeration value="NZS2201" />
      <xs:enumeration value="NZS23" />
      <xs:enumeration value="NZS2301" />
      <xs:enumeration value="NZS2302" />
      <xs:enumeration value="NZS2303" />
      <xs:enumeration value="NZS2304" />
      <xs:enumeration value="NZS2305" />
      <xs:enumeration value="NZS2306" />
      <xs:enumeration value="NZS2307" />
      <xs:enumeration value="NZS2308" />
      <xs:enumeration value="NZS2309" />
      <xs:enumeration value="NZS2310" />
      <xs:enumeration value="NZS2311" />
      <xs:enumeration value="NZS44" />
      <xs:enumeration value="NZS4444" />
      <xs:enumeration value="NZS55" />
      <xs:enumeration value="NZS5555" />
      <xs:enumeration value="NZS77" />
      <xs:enumeration value="NZS7777" />
      <xs:enumeration value="NZS88" />
      <xs:enumeration value="NZS8888" />
      <xs:enumeration value="NZS99" />
      <xs:enumeration value="NZS9999" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsReligionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZS0" />
      <xs:enumeration value="NZS1" />
      <xs:enumeration value="NZS101" />
      <xs:enumeration value="NZS10101" />
      <xs:enumeration value="NZS10199" />
      <xs:enumeration value="NZS2" />
      <xs:enumeration value="NZS201" />
      <xs:enumeration value="NZS20101" />
      <xs:enumeration value="NZS20102" />
      <xs:enumeration value="NZS20103" />
      <xs:enumeration value="NZS20199" />
      <xs:enumeration value="NZS202" />
      <xs:enumeration value="NZS203" />
      <xs:enumeration value="NZS20301" />
      <xs:enumeration value="NZS20302" />
      <xs:enumeration value="NZS204" />
      <xs:enumeration value="NZS20401" />
      <xs:enumeration value="NZS20402" />
      <xs:enumeration value="NZS20403" />
      <xs:enumeration value="NZS20499" />
      <xs:enumeration value="NZS205" />
      <xs:enumeration value="NZS20501" />
      <xs:enumeration value="NZS20502" />
      <xs:enumeration value="NZS20503" />
      <xs:enumeration value="NZS20599" />
      <xs:enumeration value="NZS206" />
      <xs:enumeration value="NZS20601" />
      <xs:enumeration value="NZS20699" />
      <xs:enumeration value="NZS207" />
      <xs:enumeration value="NZS20701" />
      <xs:enumeration value="NZS20799" />
      <xs:enumeration value="NZS208" />
      <xs:enumeration value="NZS20801" />
      <xs:enumeration value="NZS20802" />
      <xs:enumeration value="NZS20803" />
      <xs:enumeration value="NZS20804" />
      <xs:enumeration value="NZS209" />
      <xs:enumeration value="NZS20901" />
      <xs:enumeration value="NZS210" />
      <xs:enumeration value="NZS211" />
      <xs:enumeration value="NZS212" />
      <xs:enumeration value="NZS21201" />
      <xs:enumeration value="NZS21299" />
      <xs:enumeration value="NZS213" />
      <xs:enumeration value="NZS21301" />
      <xs:enumeration value="NZS21302" />
      <xs:enumeration value="NZS21303" />
      <xs:enumeration value="NZS21304" />
      <xs:enumeration value="NZS21305" />
      <xs:enumeration value="NZS21399" />
      <xs:enumeration value="NZS214" />
      <xs:enumeration value="NZS21401" />
      <xs:enumeration value="NZS21402" />
      <xs:enumeration value="NZS21403" />
      <xs:enumeration value="NZS21404" />
      <xs:enumeration value="NZS21405" />
      <xs:enumeration value="NZS21406" />
      <xs:enumeration value="NZS21407" />
      <xs:enumeration value="NZS21408" />
      <xs:enumeration value="NZS21409" />
      <xs:enumeration value="NZS21410" />
      <xs:enumeration value="NZS21411" />
      <xs:enumeration value="NZS21412" />
      <xs:enumeration value="NZS21499" />
      <xs:enumeration value="NZS215" />
      <xs:enumeration value="NZS21501" />
      <xs:enumeration value="NZS21502" />
      <xs:enumeration value="NZS21503" />
      <xs:enumeration value="NZS21504" />
      <xs:enumeration value="NZS21505" />
      <xs:enumeration value="NZS216" />
      <xs:enumeration value="NZS217" />
      <xs:enumeration value="NZS218" />
      <xs:enumeration value="NZS21801" />
      <xs:enumeration value="NZS21802" />
      <xs:enumeration value="NZS299" />
      <xs:enumeration value="NZS29901" />
      <xs:enumeration value="NZS29902" />
      <xs:enumeration value="NZS29903" />
      <xs:enumeration value="NZS29904" />
      <xs:enumeration value="NZS29905" />
      <xs:enumeration value="NZS29906" />
      <xs:enumeration value="NZS29907" />
      <xs:enumeration value="NZS29908" />
      <xs:enumeration value="NZS29909" />
      <xs:enumeration value="NZS3" />
      <xs:enumeration value="NZS30101" />
      <xs:enumeration value="NZS30102" />
      <xs:enumeration value="NZS4" />
      <xs:enumeration value="NZS40101" />
      <xs:enumeration value="NZS5" />
      <xs:enumeration value="NZS6" />
      <xs:enumeration value="NZS601" />
      <xs:enumeration value="NZS602" />
      <xs:enumeration value="NZS609" />
      <xs:enumeration value="NZS7" />
      <xs:enumeration value="NZS701" />
      <xs:enumeration value="NZS702" />
      <xs:enumeration value="NZS70201" />
      <xs:enumeration value="NZS70202" />
      <xs:enumeration value="NZS70203" />
      <xs:enumeration value="NZS70204" />
      <xs:enumeration value="NZS703" />
      <xs:enumeration value="NZS704" />
      <xs:enumeration value="NZS709" />
      <xs:enumeration value="NZS70901" />
      <xs:enumeration value="NZS8" />
      <xs:enumeration value="NZS801" />
      <xs:enumeration value="NZS802" />
      <xs:enumeration value="NZS80201" />
      <xs:enumeration value="NZS80202" />
      <xs:enumeration value="NZS803" />
      <xs:enumeration value="NZS804" />
      <xs:enumeration value="NZS80401" />
      <xs:enumeration value="NZS80402" />
      <xs:enumeration value="NZS80403" />
      <xs:enumeration value="NZS805" />
      <xs:enumeration value="NZS80501" />
      <xs:enumeration value="NZS806" />
      <xs:enumeration value="NZS807" />
      <xs:enumeration value="NZS808" />
      <xs:enumeration value="NZS809" />
      <xs:enumeration value="NZS80901" />
      <xs:enumeration value="NZS80999" />
      <xs:enumeration value="NZS944" />
      <xs:enumeration value="NZS955" />
      <xs:enumeration value="NZS977" />
      <xs:enumeration value="NZS988" />
      <xs:enumeration value="NZS999" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsHealthcareServiceTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DOC" />
      <xs:enumeration value="DEN" />
      <xs:enumeration value="THE" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLanguageProficiencyTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SP" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="WR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLanguageProficiencyLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NO" />
      <xs:enumeration value="BE" />
      <xs:enumeration value="IN" />
      <xs:enumeration value="AD" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsDocumentTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IBP" />
      <xs:enumeration value="IEP" />
      <xs:enumeration value="MED" />
      <xs:enumeration value="ATT" />
      <xs:enumeration value="BEH" />
      <xs:enumeration value="ACA" />
      <xs:enumeration value="LEG" />
      <xs:enumeration value="OTH" />
      <xs:enumeration value="PHO" />
      <xs:enumeration value="MEA" />
      <xs:enumeration value="DOC" />
      <xs:enumeration value="NOT" />
      <xs:enumeration value="LSN" />
      <xs:enumeration value="PPH" />
      <xs:enumeration value="NRA" />
      <xs:enumeration value="NRC" />
      <xs:enumeration value="NRR" />
      <xs:enumeration value="ODA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsDocumentClassificationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IC" />
      <xs:enumeration value="SE" />
      <xs:enumeration value="UC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsDocumentRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="OW" />
      <xs:enumeration value="AU" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="SU" />
      <xs:enumeration value="AD" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolManagementSystemType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ASS" />
      <xs:enumeration value="ETA" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="KAM" />
      <xs:enumeration value="LIN" />
      <xs:enumeration value="MUS" />
      <xs:enumeration value="PCS" />
      <xs:enumeration value="SYN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsBiographicChangeReasonType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CF" />
      <xs:enumeration value="EI" />
      <xs:enumeration value="ON" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAddressTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="TH" />
      <xs:enumeration value="RU" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="WA" />
      <xs:enumeration value="FO" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSpatialUnitTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AE" />
      <xs:enumeration value="GE" />
      <xs:enumeration value="CB" />
      <xs:enumeration value="ME" />
      <xs:enumeration value="MB" />
      <xs:enumeration value="RC" />
      <xs:enumeration value="TA" />
      <xs:enumeration value="UA" />
      <xs:enumeration value="WA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOperationalStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="C" />
      <xs:enumeration value="O" />
      <xs:enumeration value="P" />
      <xs:enumeration value="28000" />
      <xs:enumeration value="28001" />
      <xs:enumeration value="28002" />
      <xs:enumeration value="28003" />
      <xs:enumeration value="28004" />
      <xs:enumeration value="28005" />
      <xs:enumeration value="28006" />
      <xs:enumeration value="28007" />
      <xs:enumeration value="28008" />
      <xs:enumeration value="28009" />
      <xs:enumeration value="28010" />
      <xs:enumeration value="28011" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOperationalStatusReasonType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="30000" />
      <xs:enumeration value="30001" />
      <xs:enumeration value="30002" />
      <xs:enumeration value="30003" />
      <xs:enumeration value="30004" />
      <xs:enumeration value="30005" />
      <xs:enumeration value="30006" />
      <xs:enumeration value="30007" />
      <xs:enumeration value="30008" />
      <xs:enumeration value="30009" />
      <xs:enumeration value="30010" />
      <xs:enumeration value="30011" />
      <xs:enumeration value="30012" />
      <xs:enumeration value="30013" />
      <xs:enumeration value="30014" />
      <xs:enumeration value="30015" />
      <xs:enumeration value="30016" />
      <xs:enumeration value="30017" />
      <xs:enumeration value="30019" />
      <xs:enumeration value="30020" />
      <xs:enumeration value="30021" />
      <xs:enumeration value="30022" />
      <xs:enumeration value="30024" />
      <xs:enumeration value="30025" />
      <xs:enumeration value="30026" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolCoEdStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="COED" />
      <xs:enumeration value="GIRL" />
      <xs:enumeration value="BOYS" />
      <xs:enumeration value="PRCO" />
      <xs:enumeration value="JUBO" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEducationRegionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="TAIT" />
      <xs:enumeration value="AUCK" />
      <xs:enumeration value="WAIK" />
      <xs:enumeration value="BOPW" />
      <xs:enumeration value="HAWK" />
      <xs:enumeration value="TARA" />
      <xs:enumeration value="WELL" />
      <xs:enumeration value="NELS" />
      <xs:enumeration value="CANT" />
      <xs:enumeration value="OTAG" />
      <xs:enumeration value="12000" />
      <xs:enumeration value="12005" />
      <xs:enumeration value="12006" />
      <xs:enumeration value="12007" />
      <xs:enumeration value="12008" />
      <xs:enumeration value="12009" />
      <xs:enumeration value="12010" />
      <xs:enumeration value="12011" />
      <xs:enumeration value="12012" />
      <xs:enumeration value="12013" />
      <xs:enumeration value="12014" />
      <xs:enumeration value="12015" />
      <xs:enumeration value="12016" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSpecialEducationDistrictType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="182000" />
      <xs:enumeration value="182001" />
      <xs:enumeration value="182002" />
      <xs:enumeration value="182003" />
      <xs:enumeration value="182004" />
      <xs:enumeration value="182005" />
      <xs:enumeration value="182006" />
      <xs:enumeration value="182007" />
      <xs:enumeration value="182008" />
      <xs:enumeration value="182009" />
      <xs:enumeration value="182010" />
      <xs:enumeration value="182011" />
      <xs:enumeration value="182012" />
      <xs:enumeration value="182013" />
      <xs:enumeration value="182014" />
      <xs:enumeration value="182015" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOrganisationTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="10052" />
      <xs:enumeration value="10053" />
      <xs:enumeration value="10054" />
      <xs:enumeration value="10055" />
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
      <xs:enumeration value="9" />
      <xs:enumeration value="10000" />
      <xs:enumeration value="10001" />
      <xs:enumeration value="10002" />
      <xs:enumeration value="10003" />
      <xs:enumeration value="10004" />
      <xs:enumeration value="10005" />
      <xs:enumeration value="10007" />
      <xs:enumeration value="10008" />
      <xs:enumeration value="10009" />
      <xs:enumeration value="10056" />
      <xs:enumeration value="10057" />
      <xs:enumeration value="20" />
      <xs:enumeration value="21" />
      <xs:enumeration value="22" />
      <xs:enumeration value="23" />
      <xs:enumeration value="30" />
      <xs:enumeration value="32" />
      <xs:enumeration value="34" />
      <xs:enumeration value="35" />
      <xs:enumeration value="40" />
      <xs:enumeration value="41" />
      <xs:enumeration value="43" />
      <xs:enumeration value="10023" />
      <xs:enumeration value="10024" />
      <xs:enumeration value="10025" />
      <xs:enumeration value="10026" />
      <xs:enumeration value="10027" />
      <xs:enumeration value="10028" />
      <xs:enumeration value="10029" />
      <xs:enumeration value="10030" />
      <xs:enumeration value="10031" />
      <xs:enumeration value="10032" />
      <xs:enumeration value="10033" />
      <xs:enumeration value="10034" />
      <xs:enumeration value="10036" />
      <xs:enumeration value="10010" />
      <xs:enumeration value="10011" />
      <xs:enumeration value="10012" />
      <xs:enumeration value="10013" />
      <xs:enumeration value="10014" />
      <xs:enumeration value="10015" />
      <xs:enumeration value="10016" />
      <xs:enumeration value="10017" />
      <xs:enumeration value="10018" />
      <xs:enumeration value="10019" />
      <xs:enumeration value="10020" />
      <xs:enumeration value="10021" />
      <xs:enumeration value="10022" />
      <xs:enumeration value="10035" />
      <xs:enumeration value="10037" />
      <xs:enumeration value="10038" />
      <xs:enumeration value="10039" />
      <xs:enumeration value="10040" />
      <xs:enumeration value="10041" />
      <xs:enumeration value="10042" />
      <xs:enumeration value="10043" />
      <xs:enumeration value="10044" />
      <xs:enumeration value="10045" />
      <xs:enumeration value="10047" />
      <xs:enumeration value="10048" />
      <xs:enumeration value="10049" />
      <xs:enumeration value="10050" />
      <xs:enumeration value="10051" />
      <xs:enumeration value="10058" />
      <xs:enumeration value="10060" />
      <xs:enumeration value="10062" />
      <xs:enumeration value="10063" />
      <xs:enumeration value="999" />
      <xs:enumeration value="10059" />
      <xs:enumeration value="998" />
      <xs:enumeration value="10061" />
      <xs:enumeration value="10065" />
      <xs:enumeration value="996" />
      <xs:enumeration value="10064" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOrganisationSectorRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="35000" />
      <xs:enumeration value="35001" />
      <xs:enumeration value="35002" />
      <xs:enumeration value="35003" />
      <xs:enumeration value="35004" />
      <xs:enumeration value="35005" />
      <xs:enumeration value="35006" />
      <xs:enumeration value="35007" />
      <xs:enumeration value="35008" />
      <xs:enumeration value="35009" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCommunicationUsageType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MED" />
      <xs:enumeration value="SMS" />
      <xs:enumeration value="UNE" />
      <xs:enumeration value="INT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOrganisationContactRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PRI" />
      <xs:enumeration value="ACT" />
      <xs:enumeration value="DIR" />
      <xs:enumeration value="ECE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEnactedPolicyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AE" />
      <xs:enumeration value="CE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsProviderAuthorityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="STATE" />
      <xs:enumeration value="STINT" />
      <xs:enumeration value="PRFUL" />
      <xs:enumeration value="PRPRO" />
      <xs:enumeration value="OTVOT" />
      <xs:enumeration value="PASCH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolClassificationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="52000" />
      <xs:enumeration value="52001" />
      <xs:enumeration value="52002" />
      <xs:enumeration value="52003" />
      <xs:enumeration value="52004" />
      <xs:enumeration value="52005" />
      <xs:enumeration value="52006" />
      <xs:enumeration value="52007" />
      <xs:enumeration value="52008" />
      <xs:enumeration value="52009" />
      <xs:enumeration value="52010" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolBoardingTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="56000" />
      <xs:enumeration value="56001" />
      <xs:enumeration value="56002" />
      <xs:enumeration value="56003" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolingGenderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="C" />
      <xs:enumeration value="F" />
      <xs:enumeration value="M" />
      <xs:enumeration value="55002" />
      <xs:enumeration value="55000" />
      <xs:enumeration value="55001" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsECEServiceTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="KG" />
      <xs:enumeration value="PC" />
      <xs:enumeration value="KR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsECEServiceProviderOwnershipTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="18000" />
      <xs:enumeration value="18001" />
      <xs:enumeration value="18002" />
      <xs:enumeration value="18004" />
      <xs:enumeration value="18005" />
      <xs:enumeration value="18006" />
      <xs:enumeration value="18007" />
      <xs:enumeration value="18008" />
      <xs:enumeration value="18009" />
      <xs:enumeration value="18010" />
      <xs:enumeration value="18011" />
      <xs:enumeration value="18012" />
      <xs:enumeration value="18013" />
      <xs:enumeration value="18014" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOrganisationRelationshipTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CAH" />
      <xs:enumeration value="CAR" />
      <xs:enumeration value="TPU" />
      <xs:enumeration value="ACE" />
      <xs:enumeration value="LOF" />
      <xs:enumeration value="EPL" />
      <xs:enumeration value="ESP" />
      <xs:enumeration value="34008" />
      <xs:enumeration value="34028" />
      <xs:enumeration value="34029" />
      <xs:enumeration value="34037" />
      <xs:enumeration value="34031" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOrganisationRelationshipStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSourceOrganisationRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="COL" />
      <xs:enumeration value="ECE" />
      <xs:enumeration value="LOC" />
      <xs:enumeration value="LSC" />
      <xs:enumeration value="RTL" />
      <xs:enumeration value="SCH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRelatedOrganisationRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="184000" />
      <xs:enumeration value="184001" />
      <xs:enumeration value="184002" />
      <xs:enumeration value="33038" />
      <xs:enumeration value="33039" />
      <xs:enumeration value="33040" />
      <xs:enumeration value="33041" />
      <xs:enumeration value="LOM" />
      <xs:enumeration value="SPM" />
      <xs:enumeration value="33046" />
      <xs:enumeration value="33047" />
      <xs:enumeration value="33048" />
      <xs:enumeration value="33044" />
      <xs:enumeration value="33045" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1001" />
      <xs:enumeration value="1002" />
      <xs:enumeration value="1003" />
      <xs:enumeration value="1004" />
      <xs:enumeration value="1005" />
      <xs:enumeration value="1006" />
      <xs:enumeration value="1007" />
      <xs:enumeration value="1008" />
      <xs:enumeration value="1009" />
      <xs:enumeration value="1010" />
      <xs:enumeration value="1011" />
      <xs:enumeration value="1012" />
      <xs:enumeration value="1013" />
      <xs:enumeration value="1014" />
      <xs:enumeration value="1015" />
      <xs:enumeration value="1016" />
      <xs:enumeration value="1017" />
      <xs:enumeration value="1018" />
      <xs:enumeration value="1101" />
      <xs:enumeration value="1102" />
      <xs:enumeration value="1103" />
      <xs:enumeration value="1201" />
      <xs:enumeration value="1202" />
      <xs:enumeration value="1203" />
      <xs:enumeration value="1204" />
      <xs:enumeration value="1205" />
      <xs:enumeration value="1206" />
      <xs:enumeration value="1207" />
      <xs:enumeration value="1208" />
      <xs:enumeration value="1209" />
      <xs:enumeration value="1210" />
      <xs:enumeration value="1211" />
      <xs:enumeration value="1301" />
      <xs:enumeration value="1302" />
      <xs:enumeration value="1303" />
      <xs:enumeration value="1304" />
      <xs:enumeration value="1305" />
      <xs:enumeration value="1306" />
      <xs:enumeration value="1307" />
      <xs:enumeration value="1308" />
      <xs:enumeration value="1309" />
      <xs:enumeration value="1310" />
      <xs:enumeration value="1401" />
      <xs:enumeration value="1402" />
      <xs:enumeration value="1403" />
      <xs:enumeration value="1404" />
      <xs:enumeration value="1405" />
      <xs:enumeration value="1406" />
      <xs:enumeration value="1407" />
      <xs:enumeration value="1408" />
      <xs:enumeration value="1409" />
      <xs:enumeration value="1410" />
      <xs:enumeration value="1411" />
      <xs:enumeration value="1501" />
      <xs:enumeration value="1502" />
      <xs:enumeration value="2001" />
      <xs:enumeration value="2002" />
      <xs:enumeration value="2101" />
      <xs:enumeration value="2102" />
      <xs:enumeration value="2103" />
      <xs:enumeration value="2104" />
      <xs:enumeration value="2105" />
      <xs:enumeration value="2106" />
      <xs:enumeration value="2401" />
      <xs:enumeration value="2402" />
      <xs:enumeration value="2501" />
      <xs:enumeration value="2502" />
      <xs:enumeration value="2503" />
      <xs:enumeration value="2504" />
      <xs:enumeration value="2505" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
      <xs:enumeration value="S" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffAssignmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsTeachingGroupTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="RC" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="HR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffTeachingGroupRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1201" />
      <xs:enumeration value="1202" />
      <xs:enumeration value="1203" />
      <xs:enumeration value="1204" />
      <xs:enumeration value="1205" />
      <xs:enumeration value="1206" />
      <xs:enumeration value="1207" />
      <xs:enumeration value="1209" />
      <xs:enumeration value="1210" />
      <xs:enumeration value="1211" />
      <xs:enumeration value="1401" />
      <xs:enumeration value="1402" />
      <xs:enumeration value="1403" />
      <xs:enumeration value="1301" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffTeachingGroupAssignmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCurriculumType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZC" />
      <xs:enumeration value="TMA" />
      <xs:enumeration value="ECE" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCurriculumLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
      <xs:enumeration value="7" />
      <xs:enumeration value="8" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningAreaType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="HPE" />
      <xs:enumeration value="LAL" />
      <xs:enumeration value="MAT" />
      <xs:enumeration value="SCI" />
      <xs:enumeration value="SSC" />
      <xs:enumeration value="TEC" />
      <xs:enumeration value="ART" />
      <xs:enumeration value="TRP" />
      <xs:enumeration value="TRM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningStandardTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="US" />
      <xs:enumeration value="AS" />
      <xs:enumeration value="SC" />
      <xs:enumeration value="OT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningStandardFamilyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NC" />
      <xs:enumeration value="NZ" />
      <xs:enumeration value="CA" />
      <xs:enumeration value="IB" />
      <xs:enumeration value="OT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningStandardStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CA" />
      <xs:enumeration value="PU" />
      <xs:enumeration value="SU" />
      <xs:enumeration value="DI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningStandardRelationshipTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PREDEC" />
      <xs:enumeration value="SUCCES" />
      <xs:enumeration value="PREREQ" />
      <xs:enumeration value="UNKNWN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCredentialStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CA" />
      <xs:enumeration value="PU" />
      <xs:enumeration value="SU" />
      <xs:enumeration value="DI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSubjectAreaType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="GERM" />
      <xs:enumeration value="INDO" />
      <xs:enumeration value="JAPA" />
      <xs:enumeration value="FREN" />
      <xs:enumeration value="REME" />
      <xs:enumeration value="ENGL" />
      <xs:enumeration value="COOK" />
      <xs:enumeration value="COMM" />
      <xs:enumeration value="CHIN" />
      <xs:enumeration value="KORE" />
      <xs:enumeration value="LATI" />
      <xs:enumeration value="NIUE" />
      <xs:enumeration value="OLAN" />
      <xs:enumeration value="PLAN" />
      <xs:enumeration value="RUSS" />
      <xs:enumeration value="SAMO" />
      <xs:enumeration value="SPAN" />
      <xs:enumeration value="MAOR" />
      <xs:enumeration value="RANG" />
      <xs:enumeration value="TOKE" />
      <xs:enumeration value="TONG" />
      <xs:enumeration value="ENSL" />
      <xs:enumeration value="MATH" />
      <xs:enumeration value="MATC" />
      <xs:enumeration value="MATS" />
      <xs:enumeration value="REMM" />
      <xs:enumeration value="ACCO" />
      <xs:enumeration value="SCIE" />
      <xs:enumeration value="AGHO" />
      <xs:enumeration value="BIOL" />
      <xs:enumeration value="CHEM" />
      <xs:enumeration value="EAAS" />
      <xs:enumeration value="HUMB" />
      <xs:enumeration value="PHYS" />
      <xs:enumeration value="TECN" />
      <xs:enumeration value="BITE" />
      <xs:enumeration value="COSC" />
      <xs:enumeration value="COMP" />
      <xs:enumeration value="DEST" />
      <xs:enumeration value="ELTE" />
      <xs:enumeration value="FOTE" />
      <xs:enumeration value="GRAP" />
      <xs:enumeration value="INTE" />
      <xs:enumeration value="MTEC" />
      <xs:enumeration value="STME" />
      <xs:enumeration value="TIMA" />
      <xs:enumeration value="CLTX" />
      <xs:enumeration value="ARTA" />
      <xs:enumeration value="ARTD" />
      <xs:enumeration value="ARTH" />
      <xs:enumeration value="DANC" />
      <xs:enumeration value="DRAM" />
      <xs:enumeration value="MUSC" />
      <xs:enumeration value="MUSP" />
      <xs:enumeration value="ARPA" />
      <xs:enumeration value="APER" />
      <xs:enumeration value="ARTP" />
      <xs:enumeration value="ARPR" />
      <xs:enumeration value="ARTS" />
      <xs:enumeration value="ARTC" />
      <xs:enumeration value="SOST" />
      <xs:enumeration value="CLST" />
      <xs:enumeration value="CMTY" />
      <xs:enumeration value="ECON" />
      <xs:enumeration value="SENV" />
      <xs:enumeration value="GEOG" />
      <xs:enumeration value="HIST" />
      <xs:enumeration value="LACU" />
      <xs:enumeration value="MAOS" />
      <xs:enumeration value="MEST" />
      <xs:enumeration value="SOSC" />
      <xs:enumeration value="HEPH" />
      <xs:enumeration value="HEED" />
      <xs:enumeration value="HOME" />
      <xs:enumeration value="OUED" />
      <xs:enumeration value="PHED" />
      <xs:enumeration value="SPOR" />
      <xs:enumeration value="BUSS" />
      <xs:enumeration value="DEFE" />
      <xs:enumeration value="EQUE" />
      <xs:enumeration value="FARM" />
      <xs:enumeration value="FISH" />
      <xs:enumeration value="FOTY" />
      <xs:enumeration value="INTR" />
      <xs:enumeration value="INTS" />
      <xs:enumeration value="LAWS" />
      <xs:enumeration value="LIFE" />
      <xs:enumeration value="REST" />
      <xs:enumeration value="REMS" />
      <xs:enumeration value="STPR" />
      <xs:enumeration value="SETR" />
      <xs:enumeration value="SPPR" />
      <xs:enumeration value="STDY" />
      <xs:enumeration value="TRAN" />
      <xs:enumeration value="THTR" />
      <xs:enumeration value="CROS" />
      <xs:enumeration value="INSK" />
      <xs:enumeration value="STUD" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCurriculumProgressReportTimeframeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="END" />
      <xs:enumeration value="MID" />
      <xs:enumeration value="SEM" />
      <xs:enumeration value="TRM" />
      <xs:enumeration value="ONG" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsTechnologyClassType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="HM" />
      <xs:enumeration value="FD" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="MM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsTechnologyLearningStrandType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="TP" />
      <xs:enumeration value="TK" />
      <xs:enumeration value="NT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStrandAchievementObjectiveType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="BD" />
      <xs:enumeration value="PP" />
      <xs:enumeration value="OD" />
      <xs:enumeration value="TM" />
      <xs:enumeration value="TP" />
      <xs:enumeration value="TS" />
      <xs:enumeration value="CT" />
      <xs:enumeration value="CO" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStrandAchievementProgressLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="B" />
      <xs:enumeration value="P" />
      <xs:enumeration value="A" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsTechnologyCurriculumLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsNCEASubjectAreaType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="10" />
      <xs:enumeration value="103" />
      <xs:enumeration value="112" />
      <xs:enumeration value="113" />
      <xs:enumeration value="116" />
      <xs:enumeration value="129" />
      <xs:enumeration value="158" />
      <xs:enumeration value="166" />
      <xs:enumeration value="174" />
      <xs:enumeration value="175" />
      <xs:enumeration value="182" />
      <xs:enumeration value="184" />
      <xs:enumeration value="185" />
      <xs:enumeration value="186" />
      <xs:enumeration value="189" />
      <xs:enumeration value="190" />
      <xs:enumeration value="191" />
      <xs:enumeration value="194" />
      <xs:enumeration value="198" />
      <xs:enumeration value="204" />
      <xs:enumeration value="212" />
      <xs:enumeration value="215" />
      <xs:enumeration value="221" />
      <xs:enumeration value="224" />
      <xs:enumeration value="226" />
      <xs:enumeration value="228" />
      <xs:enumeration value="229" />
      <xs:enumeration value="230" />
      <xs:enumeration value="231" />
      <xs:enumeration value="240" />
      <xs:enumeration value="245" />
      <xs:enumeration value="246" />
      <xs:enumeration value="247" />
      <xs:enumeration value="249" />
      <xs:enumeration value="253" />
      <xs:enumeration value="257" />
      <xs:enumeration value="258" />
      <xs:enumeration value="259" />
      <xs:enumeration value="260" />
      <xs:enumeration value="261" />
      <xs:enumeration value="262" />
      <xs:enumeration value="263" />
      <xs:enumeration value="264" />
      <xs:enumeration value="265" />
      <xs:enumeration value="266" />
      <xs:enumeration value="267" />
      <xs:enumeration value="268" />
      <xs:enumeration value="269" />
      <xs:enumeration value="271" />
      <xs:enumeration value="272" />
      <xs:enumeration value="273" />
      <xs:enumeration value="275" />
      <xs:enumeration value="276" />
      <xs:enumeration value="277" />
      <xs:enumeration value="278" />
      <xs:enumeration value="279" />
      <xs:enumeration value="280" />
      <xs:enumeration value="281" />
      <xs:enumeration value="282" />
      <xs:enumeration value="285" />
      <xs:enumeration value="286" />
      <xs:enumeration value="288" />
      <xs:enumeration value="289" />
      <xs:enumeration value="290" />
      <xs:enumeration value="291" />
      <xs:enumeration value="292" />
      <xs:enumeration value="293" />
      <xs:enumeration value="294" />
      <xs:enumeration value="295" />
      <xs:enumeration value="297" />
      <xs:enumeration value="298" />
      <xs:enumeration value="299" />
      <xs:enumeration value="300" />
      <xs:enumeration value="301" />
      <xs:enumeration value="303" />
      <xs:enumeration value="304" />
      <xs:enumeration value="305" />
      <xs:enumeration value="306" />
      <xs:enumeration value="307" />
      <xs:enumeration value="308" />
      <xs:enumeration value="309" />
      <xs:enumeration value="310" />
      <xs:enumeration value="314" />
      <xs:enumeration value="315" />
      <xs:enumeration value="316" />
      <xs:enumeration value="317" />
      <xs:enumeration value="318" />
      <xs:enumeration value="319" />
      <xs:enumeration value="320" />
      <xs:enumeration value="321" />
      <xs:enumeration value="322" />
      <xs:enumeration value="323" />
      <xs:enumeration value="324" />
      <xs:enumeration value="325" />
      <xs:enumeration value="326" />
      <xs:enumeration value="328" />
      <xs:enumeration value="329" />
      <xs:enumeration value="330" />
      <xs:enumeration value="331" />
      <xs:enumeration value="332" />
      <xs:enumeration value="333" />
      <xs:enumeration value="334" />
      <xs:enumeration value="335" />
      <xs:enumeration value="336" />
      <xs:enumeration value="337" />
      <xs:enumeration value="338" />
      <xs:enumeration value="342" />
      <xs:enumeration value="343" />
      <xs:enumeration value="344" />
      <xs:enumeration value="345" />
      <xs:enumeration value="346" />
      <xs:enumeration value="347" />
      <xs:enumeration value="349" />
      <xs:enumeration value="351" />
      <xs:enumeration value="352" />
      <xs:enumeration value="354" />
      <xs:enumeration value="355" />
      <xs:enumeration value="356" />
      <xs:enumeration value="357" />
      <xs:enumeration value="358" />
      <xs:enumeration value="359" />
      <xs:enumeration value="360" />
      <xs:enumeration value="362" />
      <xs:enumeration value="363" />
      <xs:enumeration value="364" />
      <xs:enumeration value="365" />
      <xs:enumeration value="366" />
      <xs:enumeration value="367" />
      <xs:enumeration value="368" />
      <xs:enumeration value="370" />
      <xs:enumeration value="371" />
      <xs:enumeration value="372" />
      <xs:enumeration value="374" />
      <xs:enumeration value="375" />
      <xs:enumeration value="378" />
      <xs:enumeration value="380" />
      <xs:enumeration value="384" />
      <xs:enumeration value="385" />
      <xs:enumeration value="386" />
      <xs:enumeration value="387" />
      <xs:enumeration value="389" />
      <xs:enumeration value="390" />
      <xs:enumeration value="392" />
      <xs:enumeration value="393" />
      <xs:enumeration value="394" />
      <xs:enumeration value="395" />
      <xs:enumeration value="396" />
      <xs:enumeration value="397" />
      <xs:enumeration value="40" />
      <xs:enumeration value="400" />
      <xs:enumeration value="402" />
      <xs:enumeration value="403" />
      <xs:enumeration value="405" />
      <xs:enumeration value="406" />
      <xs:enumeration value="407" />
      <xs:enumeration value="408" />
      <xs:enumeration value="410" />
      <xs:enumeration value="411" />
      <xs:enumeration value="412" />
      <xs:enumeration value="413" />
      <xs:enumeration value="414" />
      <xs:enumeration value="415" />
      <xs:enumeration value="416" />
      <xs:enumeration value="419" />
      <xs:enumeration value="420" />
      <xs:enumeration value="421" />
      <xs:enumeration value="422" />
      <xs:enumeration value="423" />
      <xs:enumeration value="424" />
      <xs:enumeration value="426" />
      <xs:enumeration value="428" />
      <xs:enumeration value="429" />
      <xs:enumeration value="430" />
      <xs:enumeration value="431" />
      <xs:enumeration value="433" />
      <xs:enumeration value="435" />
      <xs:enumeration value="436" />
      <xs:enumeration value="437" />
      <xs:enumeration value="438" />
      <xs:enumeration value="441" />
      <xs:enumeration value="442" />
      <xs:enumeration value="444" />
      <xs:enumeration value="445" />
      <xs:enumeration value="446" />
      <xs:enumeration value="447" />
      <xs:enumeration value="449" />
      <xs:enumeration value="450" />
      <xs:enumeration value="451" />
      <xs:enumeration value="452" />
      <xs:enumeration value="453" />
      <xs:enumeration value="454" />
      <xs:enumeration value="456" />
      <xs:enumeration value="457" />
      <xs:enumeration value="458" />
      <xs:enumeration value="459" />
      <xs:enumeration value="460" />
      <xs:enumeration value="464" />
      <xs:enumeration value="465" />
      <xs:enumeration value="466" />
      <xs:enumeration value="467" />
      <xs:enumeration value="468" />
      <xs:enumeration value="469" />
      <xs:enumeration value="470" />
      <xs:enumeration value="471" />
      <xs:enumeration value="472" />
      <xs:enumeration value="473" />
      <xs:enumeration value="474" />
      <xs:enumeration value="475" />
      <xs:enumeration value="5" />
      <xs:enumeration value="53" />
      <xs:enumeration value="55" />
      <xs:enumeration value="71" />
      <xs:enumeration value="76" />
      <xs:enumeration value="78" />
      <xs:enumeration value="79" />
      <xs:enumeration value="82" />
      <xs:enumeration value="84" />
      <xs:enumeration value="85" />
      <xs:enumeration value="86" />
      <xs:enumeration value="92" />
      <xs:enumeration value="93" />
      <xs:enumeration value="96" />
      <xs:enumeration value="97" />
      <xs:enumeration value="99" />
      <xs:enumeration value="ACCO" />
      <xs:enumeration value="AGHO" />
      <xs:enumeration value="AGRI" />
      <xs:enumeration value="ARTC" />
      <xs:enumeration value="ARTH" />
      <xs:enumeration value="BIOL" />
      <xs:enumeration value="BUST" />
      <xs:enumeration value="CHEM" />
      <xs:enumeration value="CHIN" />
      <xs:enumeration value="CLST" />
      <xs:enumeration value="COMP" />
      <xs:enumeration value="COOK" />
      <xs:enumeration value="DANC" />
      <xs:enumeration value="DLIC" />
      <xs:enumeration value="DRAM" />
      <xs:enumeration value="DTEC" />
      <xs:enumeration value="EAAS" />
      <xs:enumeration value="ECON" />
      <xs:enumeration value="ENAC" />
      <xs:enumeration value="ENGL" />
      <xs:enumeration value="ENSL" />
      <xs:enumeration value="FIMA" />
      <xs:enumeration value="FREN" />
      <xs:enumeration value="GEOG" />
      <xs:enumeration value="GERM" />
      <xs:enumeration value="GRAP" />
      <xs:enumeration value="HANG" />
      <xs:enumeration value="HAUO" />
      <xs:enumeration value="HEED" />
      <xs:enumeration value="HIST" />
      <xs:enumeration value="HOME" />
      <xs:enumeration value="JAPA" />
      <xs:enumeration value="KORE" />
      <xs:enumeration value="LAFT" />
      <xs:enumeration value="LATI" />
      <xs:enumeration value="LAWS" />
      <xs:enumeration value="LITE" />
      <xs:enumeration value="MAOR" />
      <xs:enumeration value="MAST" />
      <xs:enumeration value="MEST" />
      <xs:enumeration value="MPRT" />
      <xs:enumeration value="MUSC" />
      <xs:enumeration value="NGAT" />
      <xs:enumeration value="NUME" />
      <xs:enumeration value="NZSL" />
      <xs:enumeration value="PANG" />
      <xs:enumeration value="PHED" />
      <xs:enumeration value="PHYS" />
      <xs:enumeration value="PLAN" />
      <xs:enumeration value="PSYC" />
      <xs:enumeration value="PUTA" />
      <xs:enumeration value="RANG" />
      <xs:enumeration value="REST" />
      <xs:enumeration value="SAMO" />
      <xs:enumeration value="SCIE" />
      <xs:enumeration value="SENV" />
      <xs:enumeration value="SOSC" />
      <xs:enumeration value="SOST" />
      <xs:enumeration value="SPAN" />
      <xs:enumeration value="SULE" />
      <xs:enumeration value="TECN" />
      <xs:enumeration value="TIKA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentMethodologyType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="P" />
      <xs:enumeration value="S" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="INT" />
      <xs:enumeration value="EXT" />
      <xs:enumeration value="MOC" />
      <xs:enumeration value="POR" />
      <xs:enumeration value="PRA" />
      <xs:enumeration value="OTJ" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentToolType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="EASMATH" />
      <xs:enumeration value="EASREAD" />
      <xs:enumeration value="PATCOMP" />
      <xs:enumeration value="PATMATH" />
      <xs:enumeration value="STARREA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentToolTestType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="PMT1" />
      <xs:enumeration value="PMT1A" />
      <xs:enumeration value="PMT2" />
      <xs:enumeration value="PMT2A" />
      <xs:enumeration value="PMT3" />
      <xs:enumeration value="PMT3A" />
      <xs:enumeration value="PMT4" />
      <xs:enumeration value="PMT4A" />
      <xs:enumeration value="PMT5" />
      <xs:enumeration value="PMT5A" />
      <xs:enumeration value="PMT6" />
      <xs:enumeration value="PMT6A" />
      <xs:enumeration value="PMT7" />
      <xs:enumeration value="PMT7A" />
      <xs:enumeration value="PMT8A" />
      <xs:enumeration value="PMTADA" />
      <xs:enumeration value="PRCT1" />
      <xs:enumeration value="PRCT2" />
      <xs:enumeration value="PRCT3" />
      <xs:enumeration value="PRCT4" />
      <xs:enumeration value="PRCT5" />
      <xs:enumeration value="PRCT6" />
      <xs:enumeration value="PRCT7" />
      <xs:enumeration value="SRT34A" />
      <xs:enumeration value="SRT34B" />
      <xs:enumeration value="SRT34C" />
      <xs:enumeration value="SRT56A" />
      <xs:enumeration value="SRT56B" />
      <xs:enumeration value="SRT56C" />
      <xs:enumeration value="SRT78A" />
      <xs:enumeration value="SRT78B" />
      <xs:enumeration value="SRT78C" />
      <xs:enumeration value="SRT9A" />
      <xs:enumeration value="EMYR4" />
      <xs:enumeration value="EMYR5" />
      <xs:enumeration value="EMYR6" />
      <xs:enumeration value="EMYR7" />
      <xs:enumeration value="EMYR8" />
      <xs:enumeration value="EMYR9" />
      <xs:enumeration value="EMYR10" />
      <xs:enumeration value="ERYR4" />
      <xs:enumeration value="ERYR5" />
      <xs:enumeration value="ERYR6" />
      <xs:enumeration value="ERYR7" />
      <xs:enumeration value="ERYR8" />
      <xs:enumeration value="ERYR9" />
      <xs:enumeration value="ERYR10" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentEvaluationTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="F" />
      <xs:enumeration value="S" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MOD" />
      <xs:enumeration value="NOT" />
      <xs:enumeration value="PUB" />
      <xs:enumeration value="ENT" />
      <xs:enumeration value="MAR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentProviderRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ASR" />
      <xs:enumeration value="LOC" />
      <xs:enumeration value="PRO" />
      <xs:enumeration value="REG" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentStaffRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CRE" />
      <xs:enumeration value="MOD" />
      <xs:enumeration value="ASS" />
      <xs:enumeration value="INV" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsScoreMetricType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="RAW" />
      <xs:enumeration value="SCA" />
      <xs:enumeration value="MAR" />
      <xs:enumeration value="STA" />
      <xs:enumeration value="YEA" />
      <xs:enumeration value="CUR" />
      <xs:enumeration value="NKS" />
      <xs:enumeration value="NA" />
      <xs:enumeration value="NAM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsScoreTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="INI" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="MOD" />
      <xs:enumeration value="FIN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentRegistrationStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ALD" />
      <xs:enumeration value="APD" />
      <xs:enumeration value="WTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentRequestTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DE" />
      <xs:enumeration value="DS" />
      <xs:enumeration value="NS" />
      <xs:enumeration value="PE" />
      <xs:enumeration value="PS" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsNZQAFinancialAssistanceType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="B" />
      <xs:enumeration value="F" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSpecialAssessmentConditionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="BRA" />
      <xs:enumeration value="COM" />
      <xs:enumeration value="ENL" />
      <xs:enumeration value="EXT" />
      <xs:enumeration value="OTH" />
      <xs:enumeration value="REA" />
      <xs:enumeration value="RES" />
      <xs:enumeration value="SEP" />
      <xs:enumeration value="SIR" />
      <xs:enumeration value="SIS" />
      <xs:enumeration value="SPE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentTimeframeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="OTH" />
      <xs:enumeration value="OUT" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="END" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsNCEAEndorsementLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="E" />
      <xs:enumeration value="M" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAssessmentResultType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="E" />
      <xs:enumeration value="M" />
      <xs:enumeration value="A" />
      <xs:enumeration value="F" />
      <xs:enumeration value="N" />
      <xs:enumeration value="P" />
      <xs:enumeration value="NKS-EM" />
      <xs:enumeration value="NKS-CA" />
      <xs:enumeration value="NKS-AC" />
      <xs:enumeration value="NKS-EA" />
      <xs:enumeration value="NKS-AA" />
      <xs:enumeration value="NKS-AM" />
      <xs:enumeration value="NKS-AP" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolEnrolmentTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="BASE" />
      <xs:enumeration value="HOST" />
      <xs:enumeration value="REMO" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsProviderEnrolmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="APP" />
      <xs:enumeration value="ACC" />
      <xs:enumeration value="CAN" />
      <xs:enumeration value="ACT" />
      <xs:enumeration value="WIT" />
      <xs:enumeration value="PEN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSchoolEnrolmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentTeachingGroupEnrolmentStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEnrolmentExitTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S" />
      <xs:enumeration value="H" />
      <xs:enumeration value="O" />
      <xs:enumeration value="D" />
      <xs:enumeration value="X" />
      <xs:enumeration value="L" />
      <xs:enumeration value="E" />
      <xs:enumeration value="K" />
      <xs:enumeration value="C" />
      <xs:enumeration value="J" />
      <xs:enumeration value="P" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEligibilityCriteriaType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NZC" />
      <xs:enumeration value="AUC" />
      <xs:enumeration value="NZR" />
      <xs:enumeration value="IFP" />
      <xs:enumeration value="GAE" />
      <xs:enumeration value="DTB" />
      <xs:enumeration value="MOE" />
      <xs:enumeration value="DAY" />
      <xs:enumeration value="EXT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentFundingTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FF" />
      <xs:enumeration value="AE" />
      <xs:enumeration value="EX" />
      <xs:enumeration value="NF" />
      <xs:enumeration value="RA" />
      <xs:enumeration value="AD" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="TPREOM" />
      <xs:enumeration value="TPRAOM" />
      <xs:enumeration value="TPAD" />
      <xs:enumeration value="TPRE" />
      <xs:enumeration value="TPRAE" />
      <xs:enumeration value="EM" />
      <xs:enumeration value="SA" />
      <xs:enumeration value="NA" />
      <xs:enumeration value="SF" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOngoingResourceSchemeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="V" />
      <xs:enumeration value="H" />
      <xs:enumeration value="S" />
      <xs:enumeration value="N" />
      <xs:enumeration value="E" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsExchangeSchemeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AFS" />
      <xs:enumeration value="GSE" />
      <xs:enumeration value="IIU" />
      <xs:enumeration value="RIN" />
      <xs:enumeration value="STS" />
      <xs:enumeration value="YFU" />
      <xs:enumeration value="WYS" />
      <xs:enumeration value="STA" />
      <xs:enumeration value="TAE" />
      <xs:enumeration value="NGE" />
      <xs:enumeration value="YED" />
      <xs:enumeration value="NSE" />
      <xs:enumeration value="EXA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsPostSchoolActivityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="10" />
      <xs:enumeration value="11" />
      <xs:enumeration value="12" />
      <xs:enumeration value="13" />
      <xs:enumeration value="88" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsCoEnrolmentTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsPreEnrolmentExitTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="M" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsPreEnrolmentCancellationReasonType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SIE" />
      <xs:enumeration value="SDE" />
      <xs:enumeration value="DEC" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsEarlyChildhoodEducationTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="EKR" />
      <xs:enumeration value="EPC" />
      <xs:enumeration value="EKE" />
      <xs:enumeration value="EHB" />
      <xs:enumeration value="EPG" />
      <xs:enumeration value="ECO" />
      <xs:enumeration value="EOS" />
      <xs:enumeration value="ETU" />
      <xs:enumeration value="ENA" />
      <xs:enumeration value="EUN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLanguageInstructionLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="1" />
      <xs:enumeration value="2" />
      <xs:enumeration value="3" />
      <xs:enumeration value="4a" />
      <xs:enumeration value="4b" />
      <xs:enumeration value="5" />
      <xs:enumeration value="6" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsECEYearLevelType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ABF" />
      <xs:enumeration value="FIV" />
      <xs:enumeration value="FOU" />
      <xs:enumeration value="ONE" />
      <xs:enumeration value="THR" />
      <xs:enumeration value="TWO" />
      <xs:enumeration value="UNK" />
      <xs:enumeration value="ZER" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAttendanceTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SCH" />
      <xs:enumeration value="ADH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAttendanceCodeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="A" />
      <xs:enumeration value="L" />
      <xs:enumeration value="P" />
      <xs:enumeration value="S" />
      <xs:enumeration value="D" />
      <xs:enumeration value="I" />
      <xs:enumeration value="E" />
      <xs:enumeration value="M" />
      <xs:enumeration value="J" />
      <xs:enumeration value="T" />
      <xs:enumeration value="V" />
      <xs:enumeration value="N" />
      <xs:enumeration value="Q" />
      <xs:enumeration value="W" />
      <xs:enumeration value="R" />
      <xs:enumeration value="X" />
      <xs:enumeration value="G" />
      <xs:enumeration value="O" />
      <xs:enumeration value="K" />
      <xs:enumeration value="?" />
      <xs:enumeration value="Y" />
      <xs:enumeration value="F" />
      <xs:enumeration value="H" />
      <xs:enumeration value="C" />
      <xs:enumeration value="U" />
      <xs:enumeration value="Z" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAttendanceCodeGroupType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="J" />
      <xs:enumeration value="P" />
      <xs:enumeration value="U" />
      <xs:enumeration value="X" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="U" />
      <xs:enumeration value="R" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingAlertCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ATT" />
      <xs:enumeration value="MED" />
      <xs:enumeration value="LEG" />
      <xs:enumeration value="DIS" />
      <xs:enumeration value="LEA" />
      <xs:enumeration value="PLA" />
      <xs:enumeration value="CUS" />
      <xs:enumeration value="TRA" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsKeyContactRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DOC" />
      <xs:enumeration value="PAR" />
      <xs:enumeration value="PRI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicSubSubCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="LSN-ATT" />
      <xs:enumeration value="LSN-BLI" />
      <xs:enumeration value="LSN-COM" />
      <xs:enumeration value="LSN-DEA" />
      <xs:enumeration value="LSN-EAT" />
      <xs:enumeration value="LSN-EXP" />
      <xs:enumeration value="LSN-FIN" />
      <xs:enumeration value="LSN-FOL" />
      <xs:enumeration value="LSN-GRO" />
      <xs:enumeration value="LSN-HAR" />
      <xs:enumeration value="LSN-HYA" />
      <xs:enumeration value="LSN-HYO" />
      <xs:enumeration value="LSN-INV" />
      <xs:enumeration value="LSN-LEM" />
      <xs:enumeration value="LSN-LOW" />
      <xs:enumeration value="LSN-LVI" />
      <xs:enumeration value="LSN-MAE" />
      <xs:enumeration value="LSN-MAK" />
      <xs:enumeration value="LSN-MAN" />
      <xs:enumeration value="LSN-MAX" />
      <xs:enumeration value="LSN-MEM" />
      <xs:enumeration value="LSN-MPR" />
      <xs:enumeration value="LSN-NUM" />
      <xs:enumeration value="LSN-ONN" />
      <xs:enumeration value="LSN-OPP" />
      <xs:enumeration value="LSN-ORN" />
      <xs:enumeration value="LSN-OWN" />
      <xs:enumeration value="LSN-PER" />
      <xs:enumeration value="LSN-PHO" />
      <xs:enumeration value="LSN-PHY" />
      <xs:enumeration value="LSN-PLA" />
      <xs:enumeration value="LSN-PLY" />
      <xs:enumeration value="LSN-PRO" />
      <xs:enumeration value="LSN-PSP" />
      <xs:enumeration value="LSN-REC" />
      <xs:enumeration value="LSN-RES" />
      <xs:enumeration value="LSN-RPS" />
      <xs:enumeration value="LSN-RUN" />
      <xs:enumeration value="LSN-SEL" />
      <xs:enumeration value="LSN-SEQ" />
      <xs:enumeration value="LSN-SHA" />
      <xs:enumeration value="LSN-SHO" />
      <xs:enumeration value="LSN-SIW" />
      <xs:enumeration value="LSN-TRA" />
      <xs:enumeration value="LSN-VER" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicSubCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DIET-01" />
      <xs:enumeration value="DIET-02" />
      <xs:enumeration value="DIET-03" />
      <xs:enumeration value="DIET-04" />
      <xs:enumeration value="DIET-05" />
      <xs:enumeration value="DIET-06" />
      <xs:enumeration value="LSN-ACT" />
      <xs:enumeration value="LSN-ADV" />
      <xs:enumeration value="LSN-ATT" />
      <xs:enumeration value="LSN-CHR" />
      <xs:enumeration value="LSN-CUL" />
      <xs:enumeration value="LSN-EMO" />
      <xs:enumeration value="LSN-ENG" />
      <xs:enumeration value="LSN-EXT" />
      <xs:enumeration value="LSN-FLU" />
      <xs:enumeration value="LSN-GLC" />
      <xs:enumeration value="LSN-HEA" />
      <xs:enumeration value="LSN-HYP" />
      <xs:enumeration value="LSN-INT" />
      <xs:enumeration value="LSN-MED" />
      <xs:enumeration value="LSN-MOB" />
      <xs:enumeration value="LSN-MOT" />
      <xs:enumeration value="LSN-NUM" />
      <xs:enumeration value="LSN-NZS" />
      <xs:enumeration value="LSN-REA" />
      <xs:enumeration value="LSN-SEL" />
      <xs:enumeration value="LSN-SEN" />
      <xs:enumeration value="LSN-SLA" />
      <xs:enumeration value="LSN-SOC" />
      <xs:enumeration value="LSN-SPE" />
      <xs:enumeration value="LSN-SUB" />
      <xs:enumeration value="LSN-UND" />
      <xs:enumeration value="LSN-USI" />
      <xs:enumeration value="LSN-VIS" />
      <xs:enumeration value="LSN-WRI" />
      <xs:enumeration value="MH-1" />
      <xs:enumeration value="MH-2" />
      <xs:enumeration value="MH-3" />
      <xs:enumeration value="MH-4" />
      <xs:enumeration value="MH-5" />
      <xs:enumeration value="MH-6" />
      <xs:enumeration value="MH-7" />
      <xs:enumeration value="MH-8" />
      <xs:enumeration value="MH-9" />
      <xs:enumeration value="MH-10" />
      <xs:enumeration value="MH-11" />
      <xs:enumeration value="MH-12" />
      <xs:enumeration value="MH-13" />
      <xs:enumeration value="MH-14" />
      <xs:enumeration value="MH-15" />
      <xs:enumeration value="MH-16" />
      <xs:enumeration value="MH-17" />
      <xs:enumeration value="MH-18" />
      <xs:enumeration value="MS-1" />
      <xs:enumeration value="MS-2" />
      <xs:enumeration value="MS-3" />
      <xs:enumeration value="MS-4" />
      <xs:enumeration value="MAA-1" />
      <xs:enumeration value="MAA-2" />
      <xs:enumeration value="MAA-3" />
      <xs:enumeration value="MAA-4" />
      <xs:enumeration value="MAA-5" />
      <xs:enumeration value="MAA-6" />
      <xs:enumeration value="MAA-7" />
      <xs:enumeration value="MAA-8" />
      <xs:enumeration value="MAA-9" />
      <xs:enumeration value="MAA-10" />
      <xs:enumeration value="MAA-11" />
      <xs:enumeration value="MAA-12" />
      <xs:enumeration value="MAA-13" />
      <xs:enumeration value="MAA-14" />
      <xs:enumeration value="MAIM-1" />
      <xs:enumeration value="MAIM-2" />
      <xs:enumeration value="MAIM-3" />
      <xs:enumeration value="MB-1" />
      <xs:enumeration value="MB-2" />
      <xs:enumeration value="MB-3" />
      <xs:enumeration value="MB-4" />
      <xs:enumeration value="MB-5" />
      <xs:enumeration value="MMS-1" />
      <xs:enumeration value="MMS-2" />
      <xs:enumeration value="MMS-3" />
      <xs:enumeration value="MMS-4" />
      <xs:enumeration value="MMS-5" />
      <xs:enumeration value="MMS-6" />
      <xs:enumeration value="MMS-7" />
      <xs:enumeration value="MMS-8" />
      <xs:enumeration value="MMS-9" />
      <xs:enumeration value="MMS-10" />
      <xs:enumeration value="MMS-11" />
      <xs:enumeration value="MMS-12" />
      <xs:enumeration value="MMS-13" />
      <xs:enumeration value="MMS-14" />
      <xs:enumeration value="MMS-15" />
      <xs:enumeration value="MCM-1" />
      <xs:enumeration value="MCM-2" />
      <xs:enumeration value="MCM-3" />
      <xs:enumeration value="MCM-4" />
      <xs:enumeration value="MCM-5" />
      <xs:enumeration value="MCM-6" />
      <xs:enumeration value="MCM-7" />
      <xs:enumeration value="MCM-8" />
      <xs:enumeration value="MCM-9" />
      <xs:enumeration value="MCM-10" />
      <xs:enumeration value="MCM-11" />
      <xs:enumeration value="MCM-12" />
      <xs:enumeration value="MCM-13" />
      <xs:enumeration value="MCM-14" />
      <xs:enumeration value="MCM-15" />
      <xs:enumeration value="MCM-16" />
      <xs:enumeration value="MCM-17" />
      <xs:enumeration value="MCM-18" />
      <xs:enumeration value="MCM-19" />
      <xs:enumeration value="MCM-20" />
      <xs:enumeration value="MCM-21" />
      <xs:enumeration value="MCM-22" />
      <xs:enumeration value="MCM-23" />
      <xs:enumeration value="MCM-24" />
      <xs:enumeration value="MCM-25" />
      <xs:enumeration value="MCM-26" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MAO" />
      <xs:enumeration value="DIET" />
      <xs:enumeration value="LSN-COG" />
      <xs:enumeration value="LSN-PHY" />
      <xs:enumeration value="LSN-SEN" />
      <xs:enumeration value="LSN-SOC" />
      <xs:enumeration value="LSN-SPE" />
      <xs:enumeration value="MAIM" />
      <xs:enumeration value="MRD" />
      <xs:enumeration value="MB" />
      <xs:enumeration value="MMD" />
      <xs:enumeration value="MMS" />
      <xs:enumeration value="MEM" />
      <xs:enumeration value="MC" />
      <xs:enumeration value="MAA" />
      <xs:enumeration value="MH" />
      <xs:enumeration value="MN" />
      <xs:enumeration value="MS" />
      <xs:enumeration value="MCM" />
      <xs:enumeration value="MI" />
      <xs:enumeration value="MGI" />
      <xs:enumeration value="MND" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="MD" />
      <xs:enumeration value="MOP" />
      <xs:enumeration value="M-OTHER" />
      <xs:enumeration value="D-OTHER" />
      <xs:enumeration value="S-OTHER" />
      <xs:enumeration value="OTHER" />
      <xs:enumeration value="MDC-AST" />
      <xs:enumeration value="MDC-DIA" />
      <xs:enumeration value="MDC-EPI" />
      <xs:enumeration value="MDC-REG" />
      <xs:enumeration value="MDC-OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicClassType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="OTH" />
      <xs:enumeration value="MDC" />
      <xs:enumeration value="LSN" />
      <xs:enumeration value="ALG" />
      <xs:enumeration value="DPR" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicPriorityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="N" />
      <xs:enumeration value="S" />
      <xs:enumeration value="U" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingCharacteristicStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACTI" />
      <xs:enumeration value="CLOS" />
      <xs:enumeration value="AWAI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOfficialDiagnosisSubTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DISO" />
      <xs:enumeration value="DSLD" />
      <xs:enumeration value="ADHD" />
      <xs:enumeration value="ANXI" />
      <xs:enumeration value="OTHN" />
      <xs:enumeration value="DLDI" />
      <xs:enumeration value="AUTI" />
      <xs:enumeration value="SUBS" />
      <xs:enumeration value="BLIN" />
      <xs:enumeration value="DEAF" />
      <xs:enumeration value="FEED" />
      <xs:enumeration value="STRE" />
      <xs:enumeration value="DNDD" />
      <xs:enumeration value="OTHM" />
      <xs:enumeration value="OTHS" />
      <xs:enumeration value="FOET" />
      <xs:enumeration value="MOOD" />
      <xs:enumeration value="SCHI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsOfficialDiagnosisTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MED" />
      <xs:enumeration value="MEN" />
      <xs:enumeration value="NEU" />
      <xs:enumeration value="PHY" />
      <xs:enumeration value="SEN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="B1" />
      <xs:enumeration value="B2" />
      <xs:enumeration value="B3" />
      <xs:enumeration value="B4" />
      <xs:enumeration value="B5" />
      <xs:enumeration value="B6" />
      <xs:enumeration value="B7" />
      <xs:enumeration value="B8" />
      <xs:enumeration value="B9" />
      <xs:enumeration value="M1" />
      <xs:enumeration value="M2" />
      <xs:enumeration value="M3" />
      <xs:enumeration value="M4" />
      <xs:enumeration value="M5" />
      <xs:enumeration value="M6" />
      <xs:enumeration value="M7" />
      <xs:enumeration value="M8" />
      <xs:enumeration value="M9" />
      <xs:enumeration value="OT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventSubCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="B1A" />
      <xs:enumeration value="B1B" />
      <xs:enumeration value="B1C" />
      <xs:enumeration value="B1D" />
      <xs:enumeration value="B1E" />
      <xs:enumeration value="B1F" />
      <xs:enumeration value="B1G" />
      <xs:enumeration value="B1H" />
      <xs:enumeration value="B1I" />
      <xs:enumeration value="B2A" />
      <xs:enumeration value="B2B" />
      <xs:enumeration value="B2C" />
      <xs:enumeration value="B2D" />
      <xs:enumeration value="B2E" />
      <xs:enumeration value="B3A" />
      <xs:enumeration value="B3B" />
      <xs:enumeration value="B3C" />
      <xs:enumeration value="B3D" />
      <xs:enumeration value="B3E" />
      <xs:enumeration value="B3F" />
      <xs:enumeration value="B3G" />
      <xs:enumeration value="B3H" />
      <xs:enumeration value="B3I" />
      <xs:enumeration value="B3J" />
      <xs:enumeration value="B4A" />
      <xs:enumeration value="B4B" />
      <xs:enumeration value="B4C" />
      <xs:enumeration value="B4D" />
      <xs:enumeration value="B4E" />
      <xs:enumeration value="B4F" />
      <xs:enumeration value="B4G" />
      <xs:enumeration value="B4H" />
      <xs:enumeration value="B4I" />
      <xs:enumeration value="B4J" />
      <xs:enumeration value="B5A" />
      <xs:enumeration value="B5B" />
      <xs:enumeration value="B5C" />
      <xs:enumeration value="B5D" />
      <xs:enumeration value="B5E" />
      <xs:enumeration value="B5F" />
      <xs:enumeration value="B5G" />
      <xs:enumeration value="B5H" />
      <xs:enumeration value="B5I" />
      <xs:enumeration value="B5J" />
      <xs:enumeration value="B5K" />
      <xs:enumeration value="B5L" />
      <xs:enumeration value="B5M" />
      <xs:enumeration value="B5N" />
      <xs:enumeration value="B5O" />
      <xs:enumeration value="B6A" />
      <xs:enumeration value="B6B" />
      <xs:enumeration value="B6C" />
      <xs:enumeration value="B6D" />
      <xs:enumeration value="B6E" />
      <xs:enumeration value="B6F" />
      <xs:enumeration value="B6G" />
      <xs:enumeration value="B6H" />
      <xs:enumeration value="B6I" />
      <xs:enumeration value="B7A" />
      <xs:enumeration value="B7B" />
      <xs:enumeration value="B7C" />
      <xs:enumeration value="B7D" />
      <xs:enumeration value="B7E" />
      <xs:enumeration value="B7F" />
      <xs:enumeration value="B7G" />
      <xs:enumeration value="B7H" />
      <xs:enumeration value="B7I" />
      <xs:enumeration value="B7J" />
      <xs:enumeration value="B7K" />
      <xs:enumeration value="B7L" />
      <xs:enumeration value="B7M" />
      <xs:enumeration value="B7N" />
      <xs:enumeration value="B8A" />
      <xs:enumeration value="B8B" />
      <xs:enumeration value="B8C" />
      <xs:enumeration value="B8D" />
      <xs:enumeration value="B8E" />
      <xs:enumeration value="B8F" />
      <xs:enumeration value="B8G" />
      <xs:enumeration value="B8H" />
      <xs:enumeration value="B9A" />
      <xs:enumeration value="B9B" />
      <xs:enumeration value="B9C" />
      <xs:enumeration value="B9D" />
      <xs:enumeration value="B9E" />
      <xs:enumeration value="B9F" />
      <xs:enumeration value="B9G" />
      <xs:enumeration value="B9H" />
      <xs:enumeration value="B9I" />
      <xs:enumeration value="B9J" />
      <xs:enumeration value="M1A" />
      <xs:enumeration value="M1B" />
      <xs:enumeration value="M1C" />
      <xs:enumeration value="M1D" />
      <xs:enumeration value="M1E" />
      <xs:enumeration value="M1F" />
      <xs:enumeration value="M2A" />
      <xs:enumeration value="M2B" />
      <xs:enumeration value="M2C" />
      <xs:enumeration value="M2D" />
      <xs:enumeration value="M2E" />
      <xs:enumeration value="M2F" />
      <xs:enumeration value="M2G" />
      <xs:enumeration value="M3A" />
      <xs:enumeration value="M3B" />
      <xs:enumeration value="M3C" />
      <xs:enumeration value="M3D" />
      <xs:enumeration value="M3E" />
      <xs:enumeration value="M3F" />
      <xs:enumeration value="M4A" />
      <xs:enumeration value="M4B" />
      <xs:enumeration value="M4C" />
      <xs:enumeration value="M4D" />
      <xs:enumeration value="M4E" />
      <xs:enumeration value="M4F" />
      <xs:enumeration value="M4G" />
      <xs:enumeration value="M4H" />
      <xs:enumeration value="M4I" />
      <xs:enumeration value="M5A" />
      <xs:enumeration value="M5B" />
      <xs:enumeration value="M5C" />
      <xs:enumeration value="M5D" />
      <xs:enumeration value="M5E" />
      <xs:enumeration value="M5F" />
      <xs:enumeration value="M5G" />
      <xs:enumeration value="M5H" />
      <xs:enumeration value="M5I" />
      <xs:enumeration value="M5J" />
      <xs:enumeration value="M5K" />
      <xs:enumeration value="M6A" />
      <xs:enumeration value="M6B" />
      <xs:enumeration value="M6C" />
      <xs:enumeration value="M6D" />
      <xs:enumeration value="M6E" />
      <xs:enumeration value="M6F" />
      <xs:enumeration value="M6G" />
      <xs:enumeration value="M6H" />
      <xs:enumeration value="M6I" />
      <xs:enumeration value="M6J" />
      <xs:enumeration value="M6K" />
      <xs:enumeration value="M6L" />
      <xs:enumeration value="M6N" />
      <xs:enumeration value="M6O" />
      <xs:enumeration value="M6P" />
      <xs:enumeration value="M6Q" />
      <xs:enumeration value="M6R" />
      <xs:enumeration value="M6S" />
      <xs:enumeration value="M6T" />
      <xs:enumeration value="M6U" />
      <xs:enumeration value="M6V" />
      <xs:enumeration value="M6W" />
      <xs:enumeration value="M6X" />
      <xs:enumeration value="M6Y" />
      <xs:enumeration value="M6Z" />
      <xs:enumeration value="M7A" />
      <xs:enumeration value="M7B" />
      <xs:enumeration value="M7C" />
      <xs:enumeration value="M7D" />
      <xs:enumeration value="M7E" />
      <xs:enumeration value="M7F" />
      <xs:enumeration value="M7G" />
      <xs:enumeration value="M7H" />
      <xs:enumeration value="M8A" />
      <xs:enumeration value="M8B" />
      <xs:enumeration value="M8C" />
      <xs:enumeration value="M8D" />
      <xs:enumeration value="M8E" />
      <xs:enumeration value="M8F" />
      <xs:enumeration value="M8G" />
      <xs:enumeration value="M9A" />
      <xs:enumeration value="M9B" />
      <xs:enumeration value="M9C" />
      <xs:enumeration value="M9D" />
      <xs:enumeration value="M9E" />
      <xs:enumeration value="M9F" />
      <xs:enumeration value="M9G" />
      <xs:enumeration value="M9H" />
      <xs:enumeration value="M9I" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventTimePeriodType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AM" />
      <xs:enumeration value="PM" />
      <xs:enumeration value="R" />
      <xs:enumeration value="B" />
      <xs:enumeration value="A" />
      <xs:enumeration value="Ex" />
      <xs:enumeration value="W" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventCategoryClassType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="POS" />
      <xs:enumeration value="NEG" />
      <xs:enumeration value="DAT" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsBehaviourDirectedAtTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="STA" />
      <xs:enumeration value="STU" />
      <xs:enumeration value="PRO" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventActionTakenType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AASS" />
      <xs:enumeration value="ACPE" />
      <xs:enumeration value="ALPL" />
      <xs:enumeration value="BUSU" />
      <xs:enumeration value="COSE" />
      <xs:enumeration value="COST" />
      <xs:enumeration value="EXPU" />
      <xs:enumeration value="ININ" />
      <xs:enumeration value="ISSU" />
      <xs:enumeration value="LOPR" />
      <xs:enumeration value="OATA" />
      <xs:enumeration value="OOSS" />
      <xs:enumeration value="PACO" />
      <xs:enumeration value="RECS" />
      <xs:enumeration value="TIOF" />
      <xs:enumeration value="TODE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventRestraintTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NON" />
      <xs:enumeration value="RES" />
      <xs:enumeration value="RAS" />
      <xs:enumeration value="SEC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsSuspensionCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="E" />
      <xs:enumeration value="WE" />
      <xs:enumeration value="P" />
      <xs:enumeration value="I" />
      <xs:enumeration value="W" />
      <xs:enumeration value="S" />
      <xs:enumeration value="R" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsDetentionCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="B" />
      <xs:enumeration value="R" />
      <xs:enumeration value="MR" />
      <xs:enumeration value="AR" />
      <xs:enumeration value="A" />
      <xs:enumeration value="L" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingResponseCategoryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S" />
      <xs:enumeration value="D" />
      <xs:enumeration value="A" />
      <xs:enumeration value="P" />
      <xs:enumeration value="M" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingAwardTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CER" />
      <xs:enumeration value="TRO" />
      <xs:enumeration value="LOR" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsPersonInvolvedTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NONE" />
      <xs:enumeration value="OTHE" />
      <xs:enumeration value="PEER" />
      <xs:enumeration value="STAF" />
      <xs:enumeration value="SUBS" />
      <xs:enumeration value="TEAC" />
      <xs:enumeration value="UNKN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventLocationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ARTR" />
      <xs:enumeration value="BATH" />
      <xs:enumeration value="BUSL" />
      <xs:enumeration value="BUSS" />
      <xs:enumeration value="CAFE" />
      <xs:enumeration value="CLAS" />
      <xs:enumeration value="COMM" />
      <xs:enumeration value="COMP" />
      <xs:enumeration value="GYMM" />
      <xs:enumeration value="HALL" />
      <xs:enumeration value="LIBR" />
      <xs:enumeration value="LOCK" />
      <xs:enumeration value="MUSC" />
      <xs:enumeration value="OFFC" />
      <xs:enumeration value="OFFI" />
      <xs:enumeration value="OTHE" />
      <xs:enumeration value="PARK" />
      <xs:enumeration value="PLAY" />
      <xs:enumeration value="SPEC" />
      <xs:enumeration value="STAD" />
      <xs:enumeration value="UNKN" />
      <xs:enumeration value="VOCA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventMinorBehaviourType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="DEFIA" />
      <xs:enumeration value="DISRE" />
      <xs:enumeration value="DISRU" />
      <xs:enumeration value="DRESS" />
      <xs:enumeration value="INAPP" />
      <xs:enumeration value="OTHER" />
      <xs:enumeration value="PHYSI" />
      <xs:enumeration value="PROPE" />
      <xs:enumeration value="TARDY" />
      <xs:enumeration value="TECHN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventMajorBehaviourType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ABUSI" />
      <xs:enumeration value="ARSON" />
      <xs:enumeration value="BOMBT" />
      <xs:enumeration value="BULLY" />
      <xs:enumeration value="DEFIA" />
      <xs:enumeration value="DISRE" />
      <xs:enumeration value="DISRU" />
      <xs:enumeration value="DRESS" />
      <xs:enumeration value="FIGHT" />
      <xs:enumeration value="FORGE" />
      <xs:enumeration value="GANGA" />
      <xs:enumeration value="HARAS" />
      <xs:enumeration value="INADI" />
      <xs:enumeration value="INALO" />
      <xs:enumeration value="LYING" />
      <xs:enumeration value="OTHER" />
      <xs:enumeration value="PHYSI" />
      <xs:enumeration value="PROPE" />
      <xs:enumeration value="SKIPC" />
      <xs:enumeration value="TARDY" />
      <xs:enumeration value="TECHN" />
      <xs:enumeration value="TRUAN" />
      <xs:enumeration value="UPOAL" />
      <xs:enumeration value="UPOCO" />
      <xs:enumeration value="UPODR" />
      <xs:enumeration value="UPOTO" />
      <xs:enumeration value="UPOWE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingAppealStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IP" />
      <xs:enumeration value="NS" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="SU" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsAppealDeterminationByType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="BOT" />
      <xs:enumeration value="PRI" />
      <xs:enumeration value="DEP" />
      <xs:enumeration value="YEA" />
      <xs:enumeration value="HOM" />
      <xs:enumeration value="MOE" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportLearnerStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACT" />
      <xs:enumeration value="ARC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportCaseLeadType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CO" />
      <xs:enumeration value="IH" />
      <xs:enumeration value="MO" />
      <xs:enumeration value="OT" />
      <xs:enumeration value="OH" />
      <xs:enumeration value="PO" />
      <xs:enumeration value="RT" />
      <xs:enumeration value="AC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportResponseOutcomeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="FSR" />
      <xs:enumeration value="GAC" />
      <xs:enumeration value="GNA" />
      <xs:enumeration value="RNA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportResponseTierType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="IND" />
      <xs:enumeration value="TAR" />
      <xs:enumeration value="UNI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportResponseClosureStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="COM" />
      <xs:enumeration value="ILM" />
      <xs:enumeration value="ISN" />
      <xs:enumeration value="NLF" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportResponseDetailType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACU" />
      <xs:enumeration value="ASC" />
      <xs:enumeration value="HUP" />
      <xs:enumeration value="MOE" />
      <xs:enumeration value="OAN" />
      <xs:enumeration value="ODS" />
      <xs:enumeration value="OSS" />
      <xs:enumeration value="OTA" />
      <xs:enumeration value="OUD" />
      <xs:enumeration value="SCU" />
      <xs:enumeration value="SPC" />
      <xs:enumeration value="SPI" />
      <xs:enumeration value="SRL" />
      <xs:enumeration value="USC" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportResponseTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACC" />
      <xs:enumeration value="ADA" />
      <xs:enumeration value="INC" />
      <xs:enumeration value="PRO" />
      <xs:enumeration value="SCH" />
      <xs:enumeration value="SPE" />
      <xs:enumeration value="TEA" />
      <xs:enumeration value="UNI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportExternalFunderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACC" />
      <xs:enumeration value="BEH" />
      <xs:enumeration value="ESO" />
      <xs:enumeration value="ESW" />
      <xs:enumeration value="ICS" />
      <xs:enumeration value="IWS" />
      <xs:enumeration value="ORS" />
      <xs:enumeration value="OTH" />
      <xs:enumeration value="PCC" />
      <xs:enumeration value="RTL" />
      <xs:enumeration value="IRF" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportExternalProviderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MOE" />
      <xs:enumeration value="MOH" />
      <xs:enumeration value="ORA" />
      <xs:enumeration value="CLU" />
      <xs:enumeration value="NGO" />
      <xs:enumeration value="OTH" />
      <xs:enumeration value="RTB" />
      <xs:enumeration value="RTL" />
      <xs:enumeration value="RTM" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportFundingStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AP" />
      <xs:enumeration value="DE" />
      <xs:enumeration value="NO" />
      <xs:enumeration value="RE" />
      <xs:enumeration value="SU" />
      <xs:enumeration value="WA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportExtResponseStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACT" />
      <xs:enumeration value="CLO" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsMoESpecialistServiceType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ACC" />
      <xs:enumeration value="ACT" />
      <xs:enumeration value="ADE" />
      <xs:enumeration value="AED" />
      <xs:enumeration value="AEI" />
      <xs:enumeration value="ATE" />
      <xs:enumeration value="ATT" />
      <xs:enumeration value="BEH" />
      <xs:enumeration value="BIL" />
      <xs:enumeration value="BLE" />
      <xs:enumeration value="BOA" />
      <xs:enumeration value="CHO" />
      <xs:enumeration value="CLA" />
      <xs:enumeration value="COC" />
      <xs:enumeration value="COM" />
      <xs:enumeration value="CON" />
      <xs:enumeration value="DEC" />
      <xs:enumeration value="DHH" />
      <xs:enumeration value="EDY" />
      <xs:enumeration value="EIN" />
      <xs:enumeration value="EIS" />
      <xs:enumeration value="ENG" />
      <xs:enumeration value="ESO" />
      <xs:enumeration value="FIR" />
      <xs:enumeration value="ICS" />
      <xs:enumeration value="IMO" />
      <xs:enumeration value="IRF" />
      <xs:enumeration value="ITK" />
      <xs:enumeration value="NAT" />
      <xs:enumeration value="NZS" />
      <xs:enumeration value="ORS" />
      <xs:enumeration value="PBA" />
      <xs:enumeration value="PBC" />
      <xs:enumeration value="PBH" />
      <xs:enumeration value="PBI" />
      <xs:enumeration value="PBR" />
      <xs:enumeration value="PBS" />
      <xs:enumeration value="PBT" />
      <xs:enumeration value="PDM" />
      <xs:enumeration value="PDS" />
      <xs:enumeration value="PFS" />
      <xs:enumeration value="REA" />
      <xs:enumeration value="REG" />
      <xs:enumeration value="RFF" />
      <xs:enumeration value="RPC" />
      <xs:enumeration value="RTB" />
      <xs:enumeration value="RTD" />
      <xs:enumeration value="RTL" />
      <xs:enumeration value="SCH" />
      <xs:enumeration value="SER" />
      <xs:enumeration value="SES" />
      <xs:enumeration value="STA" />
      <xs:enumeration value="STO" />
      <xs:enumeration value="STU" />
      <xs:enumeration value="TEK" />
      <xs:enumeration value="TIP" />
      <xs:enumeration value="TPM" />
      <xs:enumeration value="TPU" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportInternalFunderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="BOA" />
      <xs:enumeration value="NTA" />
      <xs:enumeration value="SEG" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportIntResponseStatusType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="CLO" />
      <xs:enumeration value="MON" />
      <xs:enumeration value="OBS" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsLearningSupportInternalProviderType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="COU" />
      <xs:enumeration value="ESW" />
      <xs:enumeration value="HEA" />
      <xs:enumeration value="RTL" />
      <xs:enumeration value="SEN" />
      <xs:enumeration value="SWI" />
      <xs:enumeration value="TAI" />
      <xs:enumeration value="TEA" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentActivityGroupType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SPO" />
      <xs:enumeration value="ART" />
      <xs:enumeration value="CUL" />
      <xs:enumeration value="MUS" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentActivityTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="NET" />
      <xs:enumeration value="RUG" />
      <xs:enumeration value="CRI" />
      <xs:enumeration value="DRA" />
      <xs:enumeration value="DEB" />
      <xs:enumeration value="TER" />
      <xs:enumeration value="KAP" />
      <xs:enumeration value="GUI" />
      <xs:enumeration value="VIO" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentInterestTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SPO" />
      <xs:enumeration value="ART" />
      <xs:enumeration value="CUL" />
      <xs:enumeration value="MUS" />
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStudentVoiceTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="GOA" />
      <xs:enumeration value="INT" />
      <xs:enumeration value="VOI" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRestraintAdministeredByRoleType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="T" />
      <xs:enumeration value="P" />
      <xs:enumeration value="O" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRestraintDebriefingTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="S" />
      <xs:enumeration value="P" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRestraintQuestionType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="101" />
      <xs:enumeration value="102" />
      <xs:enumeration value="103" />
      <xs:enumeration value="104" />
      <xs:enumeration value="105" />
      <xs:enumeration value="106" />
      <xs:enumeration value="107" />
      <xs:enumeration value="108" />
      <xs:enumeration value="109" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsRestraintReasonType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="SER" />
      <xs:enumeration value="ACT" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsStaffRestraintReflectionTypeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="EVE" />
      <xs:enumeration value="BEH" />
      <xs:enumeration value="WHA" />
      <xs:enumeration value="RES" />
      <xs:enumeration value="MON" />
      <xs:enumeration value="AFT" />
      <xs:enumeration value="NEX" />
      <xs:enumeration value="HOW" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingAppealOutcomeType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="OTH" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventSeverityType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="MIN" />
      <xs:enumeration value="MAJ" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="NZCodeSetsWellbeingEventPossibleMotivationType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="AVAD" />
      <xs:enumeration value="AVPE" />
      <xs:enumeration value="AVTA" />
      <xs:enumeration value="OBAD" />
      <xs:enumeration value="OBIT" />
      <xs:enumeration value="OBPE" />
      <xs:enumeration value="OTHE" />
      <xs:enumeration value="UNKN" />
    </xs:restriction>
  </xs:simpleType>
  <xs:simpleType name="ISO3166CountryType">
    <xs:restriction base="xs:token">
      <xs:enumeration value="ABW" />
      <xs:enumeration value="AFG" />
      <xs:enumeration value="AGO" />
      <xs:enumeration value="AIA" />
      <xs:enumeration value="ALA" />
      <xs:enumeration value="ALB" />
      <xs:enumeration value="AND" />
      <xs:enumeration value="ARE" />
      <xs:enumeration value="ARG" />
      <xs:enumeration value="ARM" />
      <xs:enumeration value="ASM" />
      <xs:enumeration value="ATA" />
      <xs:enumeration value="ATF" />
      <xs:enumeration value="ATG" />
      <xs:enumeration value="AUS" />
      <xs:enumeration value="AUT" />
      <xs:enumeration value="AZE" />
      <xs:enumeration value="BDI" />
      <xs:enumeration value="BEL" />
      <xs:enumeration value="BEN" />
      <xs:enumeration value="BES" />
      <xs:enumeration value="BFA" />
      <xs:enumeration value="BGD" />
      <xs:enumeration value="BGR" />
      <xs:enumeration value="BHR" />
      <xs:enumeration value="BHS" />
      <xs:enumeration value="BIH" />
      <xs:enumeration value="BLM" />
      <xs:enumeration value="BLR" />
      <xs:enumeration value="BLZ" />
      <xs:enumeration value="BMU" />
      <xs:enumeration value="BOL" />
      <xs:enumeration value="BRA" />
      <xs:enumeration value="BRB" />
      <xs:enumeration value="BRN" />
      <xs:enumeration value="BTN" />
      <xs:enumeration value="BVT" />
      <xs:enumeration value="BWA" />
      <xs:enumeration value="CAF" />
      <xs:enumeration value="CAN" />
      <xs:enumeration value="CCK" />
      <xs:enumeration value="CHE" />
      <xs:enumeration value="CHL" />
      <xs:enumeration value="CHN" />
      <xs:enumeration value="CIV" />
      <xs:enumeration value="CMR" />
      <xs:enumeration value="COD" />
      <xs:enumeration value="COG" />
      <xs:enumeration value="COK" />
      <xs:enumeration value="COL" />
      <xs:enumeration value="COM" />
      <xs:enumeration value="CPV" />
      <xs:enumeration value="CRI" />
      <xs:enumeration value="CUB" />
      <xs:enumeration value="CUW" />
      <xs:enumeration value="CXR" />
      <xs:enumeration value="CYM" />
      <xs:enumeration value="CYP" />
      <xs:enumeration value="CZE" />
      <xs:enumeration value="DEU" />
      <xs:enumeration value="DJI" />
      <xs:enumeration value="DMA" />
      <xs:enumeration value="DNK" />
      <xs:enumeration value="DOM" />
      <xs:enumeration value="DZA" />
      <xs:enumeration value="ECU" />
      <xs:enumeration value="EGY" />
      <xs:enumeration value="ERI" />
      <xs:enumeration value="ESH" />
      <xs:enumeration value="ESP" />
      <xs:enumeration value="EST" />
      <xs:enumeration value="ETH" />
      <xs:enumeration value="FIN" />
      <xs:enumeration value="FJI" />
      <xs:enumeration value="FLK" />
      <xs:enumeration value="FRA" />
      <xs:enumeration value="FRO" />
      <xs:enumeration value="FSM" />
      <xs:enumeration value="GAB" />
      <xs:enumeration value="GBR" />
      <xs:enumeration value="GEO" />
      <xs:enumeration value="GGY" />
      <xs:enumeration value="GHA" />
      <xs:enumeration value="GIB" />
      <xs:enumeration value="GIN" />
      <xs:enumeration value="GLP" />
      <xs:enumeration value="GMB" />
      <xs:enumeration value="GNB" />
      <xs:enumeration value="GNQ" />
      <xs:enumeration value="GRC" />
      <xs:enumeration value="GRD" />
      <xs:enumeration value="GRL" />
      <xs:enumeration value="GTM" />
      <xs:enumeration value="GUF" />
      <xs:enumeration value="GUM" />
      <xs:enumeration value="GUY" />
      <xs:enumeration value="HKG" />
      <xs:enumeration value="HMD" />
      <xs:enumeration value="HND" />
      <xs:enumeration value="HRV" />
      <xs:enumeration value="HTI" />
      <xs:enumeration value="HUN" />
      <xs:enumeration value="IDN" />
      <xs:enumeration value="IMN" />
      <xs:enumeration value="IND" />
      <xs:enumeration value="IOT" />
      <xs:enumeration value="IRL" />
      <xs:enumeration value="IRN" />
      <xs:enumeration value="IRQ" />
      <xs:enumeration value="ISL" />
      <xs:enumeration value="ISR" />
      <xs:enumeration value="ITA" />
      <xs:enumeration value="JAM" />
      <xs:enumeration value="JEY" />
      <xs:enumeration value="JOR" />
      <xs:enumeration value="JPN" />
      <xs:enumeration value="KAZ" />
      <xs:enumeration value="KEN" />
      <xs:enumeration value="KGZ" />
      <xs:enumeration value="KHM" />
      <xs:enumeration value="KIR" />
      <xs:enumeration value="KNA" />
      <xs:enumeration value="KOR" />
      <xs:enumeration value="KWT" />
      <xs:enumeration value="LAO" />
      <xs:enumeration value="LBN" />
      <xs:enumeration value="LBR" />
      <xs:enumeration value="LBY" />
      <xs:enumeration value="LCA" />
      <xs:enumeration value="LIE" />
      <xs:enumeration value="LKA" />
      <xs:enumeration value="LSO" />
      <xs:enumeration value="LTU" />
      <xs:enumeration value="LUX" />
      <xs:enumeration value="LVA" />
      <xs:enumeration value="MAC" />
      <xs:enumeration value="MAF" />
      <xs:enumeration value="MAR" />
      <xs:enumeration value="MCO" />
      <xs:enumeration value="MDA" />
      <xs:enumeration value="MDG" />
      <xs:enumeration value="MDV" />
      <xs:enumeration value="MEX" />
      <xs:enumeration value="MHL" />
      <xs:enumeration value="MKD" />
      <xs:enumeration value="MLI" />
      <xs:enumeration value="MLT" />
      <xs:enumeration value="MMR" />
      <xs:enumeration value="MNE" />
      <xs:enumeration value="MNG" />
      <xs:enumeration value="MNP" />
      <xs:enumeration value="MOZ" />
      <xs:enumeration value="MRT" />
      <xs:enumeration value="MSR" />
      <xs:enumeration value="MTQ" />
      <xs:enumeration value="MUS" />
      <xs:enumeration value="MWI" />
      <xs:enumeration value="MYS" />
      <xs:enumeration value="MYT" />
      <xs:enumeration value="NAM" />
      <xs:enumeration value="NCL" />
      <xs:enumeration value="NER" />
      <xs:enumeration value="NFK" />
      <xs:enumeration value="NGA" />
      <xs:enumeration value="NIC" />
      <xs:enumeration value="NIU" />
      <xs:enumeration value="NLD" />
      <xs:enumeration value="NOR" />
      <xs:enumeration value="NPL" />
      <xs:enumeration value="NRU" />
      <xs:enumeration value="NZL" />
      <xs:enumeration value="OMN" />
      <xs:enumeration value="PAK" />
      <xs:enumeration value="PAN" />
      <xs:enumeration value="PCN" />
      <xs:enumeration value="PER" />
      <xs:enumeration value="PHL" />
      <xs:enumeration value="PLW" />
      <xs:enumeration value="PNG" />
      <xs:enumeration value="POL" />
      <xs:enumeration value="PRI" />
      <xs:enumeration value="PRK" />
      <xs:enumeration value="PRT" />
      <xs:enumeration value="PRY" />
      <xs:enumeration value="PSE" />
      <xs:enumeration value="PYF" />
      <xs:enumeration value="QAT" />
      <xs:enumeration value="REU" />
      <xs:enumeration value="ROU" />
      <xs:enumeration value="RUS" />
      <xs:enumeration value="RWA" />
      <xs:enumeration value="SAU" />
      <xs:enumeration value="SDN" />
      <xs:enumeration value="SEN" />
      <xs:enumeration value="SGP" />
      <xs:enumeration value="SGS" />
      <xs:enumeration value="SHN" />
      <xs:enumeration value="SJM" />
      <xs:enumeration value="SLB" />
      <xs:enumeration value="SLE" />
      <xs:enumeration value="SLV" />
      <xs:enumeration value="SMR" />
      <xs:enumeration value="SOM" />
      <xs:enumeration value="SPM" />
      <xs:enumeration value="SRB" />
      <xs:enumeration value="SSD" />
      <xs:enumeration value="STP" />
      <xs:enumeration value="SUR" />
      <xs:enumeration value="SVK" />
      <xs:enumeration value="SVN" />
      <xs:enumeration value="SWE" />
      <xs:enumeration value="SWZ" />
      <xs:enumeration value="SXM" />
      <xs:enumeration value="SYC" />
      <xs:enumeration value="SYR" />
      <xs:enumeration value="TCA" />
      <xs:enumeration value="TCD" />
      <xs:enumeration value="TGO" />
      <xs:enumeration value="THA" />
      <xs:enumeration value="TJK" />
      <xs:enumeration value="TKL" />
      <xs:enumeration value="TKM" />
      <xs:enumeration value="TLS" />
      <xs:enumeration value="TON" />
      <xs:enumeration value="TTO" />
      <xs:enumeration value="TUN" />
      <xs:enumeration value="TUR" />
      <xs:enumeration value="TUV" />
      <xs:enumeration value="TWN" />
      <xs:enumeration value="TZA" />
      <xs:enumeration value="UGA" />
      <xs:enumeration value="UKR" />
      <xs:enumeration value="UMI" />
      <xs:enumeration value="URY" />
      <xs:enumeration value="USA" />
      <xs:enumeration value="UZB" />
      <xs:enumeration value="VAT" />
      <xs:enumeration value="VCT" />
      <xs:enumeration value="VEN" />
      <xs:enumeration value="VGB" />
      <xs:enumeration value="VIR" />
      <xs:enumeration value="VNM" />
      <xs:enumeration value="VUT" />
      <xs:enumeration value="WLF" />
      <xs:enumeration value="WSM" />
      <xs:enumeration value="YEM" />
      <xs:enumeration value="ZAF" />
      <xs:enumeration value="ZMB" />
      <xs:enumeration value="ZWE" />
    </xs:restriction>
  </xs:simpleType>

  <!--SubjectAreaListType-->

  <xs:complexType name="SubjectAreaListType">
    <xs:sequence>
      <xs:choice maxOccurs="unbounded">
        <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType" />
        <xs:element name="NCEASubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsNCEASubjectAreaType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>


  <!--StaffSubjectListType-->

  <xs:complexType name="StaffSubjectListType">
    <xs:sequence>
      <xs:element name="StaffSubject" minOccurs="0" maxOccurs="unbounded" type="StaffSubjectType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffSubjectType-->

  <xs:complexType name="StaffSubjectType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsSubjectAreaType" />
      <xs:element name="YearLevels" minOccurs="0" nillable="true" type="YearLevelListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageOfInstructionListType-->

  <xs:complexType name="LanguageOfInstructionListType">
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageOfInstructionType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageOfInstructionType-->

  <xs:complexType name="LanguageOfInstructionType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsLanguageType" />
      <xs:element name="Level" minOccurs="0" type="NZCodeSetsLanguageInstructionLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--LearningStandardListType-->

  <xs:complexType name="LearningStandardListType">
    <xs:sequence>
      <xs:element name="LearningStandard" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedLearningStandardsListType-->

  <xs:complexType name="RelatedLearningStandardsListType">
    <xs:sequence>
      <xs:element name="RelatedLearningStandard" minOccurs="0" maxOccurs="unbounded" type="RelatedLearningStandardType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedLearningStandardType-->

  <xs:complexType name="RelatedLearningStandardType">
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="Relationship" minOccurs="0" type="NZCodeSetsLearningStandardRelationshipTypeType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--CredentialListType-->

  <xs:complexType name="CredentialListType">
    <xs:sequence>
      <xs:element name="Credential" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--CourseListType-->

  <xs:complexType name="CourseListType">
    <xs:sequence>
      <xs:element name="Course" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--ProgressReportAuthorListType-->

  <xs:complexType name="ProgressReportAuthorListType">
    <xs:sequence>
      <xs:element name="Author" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--TechnologyClassListType-->

  <xs:complexType name="TechnologyClassListType">
    <xs:sequence>
      <xs:element name="TechnologyClass" minOccurs="0" maxOccurs="unbounded" type="TechnologyClassType" />
    </xs:sequence>
  </xs:complexType>


  <!--TechnologyClassType-->

  <xs:complexType name="TechnologyClassType">
    <xs:sequence>
      <xs:element name="Class" minOccurs="0" type="NZCodeSetsTechnologyClassType" />
      <xs:element name="Teacher" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="BehaviourComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EffortComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StrandList" minOccurs="0" nillable="true" type="ClassStrandListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ClassStrandListType-->

  <xs:complexType name="ClassStrandListType">
    <xs:sequence>
      <xs:element name="Strand" minOccurs="0" maxOccurs="unbounded" type="ClassStrandType" />
    </xs:sequence>
  </xs:complexType>


  <!--ClassStrandType-->

  <xs:complexType name="ClassStrandType">
    <xs:sequence>
      <xs:element name="LearningStrand" minOccurs="0" type="NZCodeSetsTechnologyLearningStrandType" />
      <xs:element name="AchievementObjectiveList" minOccurs="0" nillable="true" type="StrandAchievementObjectiveListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StrandAchievementObjectiveListType-->

  <xs:complexType name="StrandAchievementObjectiveListType">
    <xs:sequence>
      <xs:element name="AchievementObjective" minOccurs="0" maxOccurs="unbounded" type="StrandAchievementObjectiveType" />
    </xs:sequence>
  </xs:complexType>


  <!--StrandAchievementObjectiveType-->

  <xs:complexType name="StrandAchievementObjectiveType">
    <xs:sequence>
      <xs:element name="AchievementObjective" minOccurs="0" type="NZCodeSetsStrandAchievementObjectiveType" />
      <xs:element name="CurriculumLevel" minOccurs="0" nillable="true" type="NZCodeSetsTechnologyCurriculumLevelType" />
      <xs:element name="ProgressLevel" minOccurs="0" nillable="true" type="NZCodeSetsStrandAchievementProgressLevelType" />
      <xs:element name="AchievementObjectiveDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="OverallStudentEffortNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PracticalAbilityDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PracticalAbilityProgressNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffListType-->

  <xs:complexType name="StaffListType">
    <xs:sequence>
      <xs:element name="StaffMember" minOccurs="0" maxOccurs="unbounded" type="StaffListStaffMemberType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffListStaffMemberType-->

  <xs:complexType name="StaffListStaffMemberType">
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="Role" minOccurs="0" type="NZCodeSetsStaffRoleType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--StudentListType-->

  <xs:complexType name="StudentListType">
    <xs:sequence>
      <xs:element name="Student" minOccurs="0" maxOccurs="unbounded" type="StudentObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RoomListType-->

  <xs:complexType name="RoomListType">
    <xs:sequence>
      <xs:element name="RoomId" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolServiceType-->

  <xs:complexType name="SchoolServiceType">
    <xs:sequence>
      <xs:element name="CoEdStatus" minOccurs="0" nillable="true" type="NZCodeSetsSchoolCoEdStatusType" />
      <xs:element name="Decile" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:integer">
            <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:element name="AllowManualProvisioning" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="SchoolClassificationList" minOccurs="0" nillable="true" type="SchoolClassificationListType" />
      <xs:element name="SchoolYearList" minOccurs="0" nillable="true" type="SchoolYearLevelListType" />
      <xs:element name="TechnologyCentreName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolYearLevelListType-->

  <xs:complexType name="SchoolYearLevelListType">
    <xs:sequence>
      <xs:element name="SchoolYear" minOccurs="0" maxOccurs="unbounded" type="SchoolYearLevelType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolYearLevelType-->

  <xs:complexType name="SchoolYearLevelType">
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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:element name="Gender" minOccurs="0" type="NZCodeSetsSchoolingGenderType" />
      <xs:element name="Boarding" minOccurs="0" nillable="true" type="NZCodeSetsSchoolBoardingTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--YearLevelListType-->

  <xs:complexType name="YearLevelListType">
    <xs:sequence>
      <xs:element name="YearLevel" minOccurs="0" maxOccurs="unbounded">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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>


  <!--EnactedPolicyListType-->

  <xs:complexType name="EnactedPolicyListType">
    <xs:sequence>
      <xs:element name="EnactedPolicy" minOccurs="0" maxOccurs="unbounded" type="EnactedPolicyType" />
    </xs:sequence>
  </xs:complexType>


  <!--EnactedPolicyType-->

  <xs:complexType name="EnactedPolicyType">
    <xs:sequence>
      <xs:element name="EffectiveFrom" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EffectiveTo" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="Policy" minOccurs="0" type="NZCodeSetsEnactedPolicyType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchoolClassificationListType-->

  <xs:complexType name="SchoolClassificationListType">
    <xs:sequence>
      <xs:element name="Classification" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsSchoolClassificationType" />
    </xs:sequence>
  </xs:complexType>


  <!--ECEServiceType-->

  <xs:complexType name="ECEServiceType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsECEServiceTypeType" />
      <xs:element name="PrimaryLanguage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType" />
      <xs:element name="PrimaryLanguageOther" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--TertiaryServiceType-->

  <xs:complexType name="TertiaryServiceType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--AddressesType-->

  <xs:complexType name="AddressesType">
    <xs:sequence>
      <xs:element name="Physical" minOccurs="0" nillable="true" type="AddressType" />
      <xs:element name="Postal" minOccurs="0" nillable="true" type="AddressType" />
    </xs:sequence>
  </xs:complexType>


  <!--AddressType-->

  <xs:complexType name="AddressType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsAddressTypeType" />
      <xs:element name="Line1" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Line2" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Line3" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Line4" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Suburb" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="City" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StateProvince" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Country" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="PostalCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
      <xs:element name="StatisticalAreaList" minOccurs="0" nillable="true" type="StatisticalAreaListType" />
    </xs:sequence>
  </xs:complexType>


  <!--GridLocationType-->

  <xs:complexType name="GridLocationType">
    <xs:sequence>
      <xs:element name="Latitude" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <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: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>


  <!--CountryListType-->

  <xs:complexType name="CountryListType">
    <xs:sequence>
      <xs:element name="Country" minOccurs="0" maxOccurs="unbounded" type="ISO3166CountryType" />
    </xs:sequence>
  </xs:complexType>


  <!--LocationListType-->

  <xs:complexType name="LocationListType">
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" maxOccurs="unbounded" type="LocationType" />
    </xs:sequence>
  </xs:complexType>


  <!--LocationType-->

  <xs:complexType name="LocationType">
    <xs:sequence>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LocationNum" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressType" />
      <xs:element name="GridLocation" minOccurs="0" nillable="true" type="GridLocationType" />
      <xs:element name="StatisticalAreaList" minOccurs="0" nillable="true" type="StatisticalAreaListType" />
    </xs:sequence>
  </xs:complexType>


  <!--StatisticalAreaListType-->

  <xs:complexType name="StatisticalAreaListType">
    <xs:sequence>
      <xs:element name="StatisticalArea" minOccurs="0" maxOccurs="unbounded" type="StatisticalAreaType" />
    </xs:sequence>
  </xs:complexType>


  <!--StatisticalAreaType-->

  <xs:complexType name="StatisticalAreaType">
    <xs:sequence>
      <xs:element name="SpatialUnitType" minOccurs="0" type="NZCodeSetsSpatialUnitTypeType" />
      <xs:element name="Code" minOccurs="0" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--BasePersonInfoType-->

  <xs:complexType name="BasePersonInfoType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="BaseNameType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="PersonEmailsType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffPersonInfoType-->

  <xs:complexType name="StaffPersonInfoType">
    <xs:complexContent>
      <xs:extension base="BasePersonInfoType" />
    </xs:complexContent>
  </xs:complexType>


  <!--StudentPersonInfoType-->

  <xs:complexType name="StudentPersonInfoType">
    <xs:complexContent>
      <xs:extension base="BasePersonInfoType">
        <xs:sequence>
          <xs:element name="OtherNameList" minOccurs="0" nillable="true" type="OtherNameListType" />
          <xs:element name="VerifiedName" minOccurs="0" nillable="true" type="VerifiedNameType" />
          <xs:element name="Demographics" minOccurs="0" nillable="true" type="DemographicsType" />
          <xs:element name="Address" minOccurs="0" nillable="true" type="AddressesType" />
          <xs:element name="Phone" minOccurs="0" nillable="true" type="PersonPhonesType" />
          <xs:element name="HouseholdContactInfoList" minOccurs="0" nillable="true" type="HouseholdContactInfoListType" />
          <xs:element name="PersonPhoto" minOccurs="0" nillable="true" type="ObjectReferenceType" />
          <xs:element name="MedicalNeedList" minOccurs="0" nillable="true" type="MedicalNeedListType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--StudentContactPersonInfoType-->

  <xs:complexType name="StudentContactPersonInfoType">
    <xs:complexContent>
      <xs:extension base="BasePersonInfoType">
        <xs:sequence>
          <xs:element name="Address" minOccurs="0" nillable="true" type="AddressesType" />
          <xs:element name="Phone" minOccurs="0" nillable="true" type="PersonPhonesType" />
          <xs:element name="HouseholdContactInfoList" minOccurs="0" nillable="true" type="HouseholdContactInfoListType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--BaseCommunicationChannelType-->

  <xs:complexType name="BaseCommunicationChannelType">
    <xs:sequence>
      <xs:element name="Notes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Usage" minOccurs="0" nillable="true" type="NZCodeSetsCommunicationUsageType" />
    </xs:sequence>
  </xs:complexType>


  <!--BaseNameType-->

  <xs:complexType name="BaseNameType">
    <xs:sequence>
      <xs:element name="Title" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FamilyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GivenName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="MiddleName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SecondMiddleName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FamilyNameFirst" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PreferredFamilyName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="PreferredFamilyNameFirst" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PreferredGivenName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Suffix" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="FullName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsNameUsageTypeType" />
      <xs:element name="IsVerified" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--VerifiedNameType-->

  <xs:complexType name="VerifiedNameType">
    <xs:complexContent>
      <xs:extension base="BaseNameType">
        <xs:sequence>
          <xs:element name="Verification" minOccurs="0" nillable="true" type="VerificationEventType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--OtherNameListType-->

  <xs:complexType name="OtherNameListType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" maxOccurs="unbounded" type="VerifiedNameType" />
    </xs:sequence>
  </xs:complexType>


  <!--DemographicsType-->

  <xs:complexType name="DemographicsType">
    <xs:sequence>
      <xs:element name="BirthDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DateOfDeath" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="PlaceOfBirth" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="CountryOfBirth" minOccurs="0" nillable="true" type="ISO3166CountryType" />
      <xs:element name="CitizenshipList" minOccurs="0" nillable="true" type="CountryListType" />
      <xs:element name="CitizenshipStatus" minOccurs="0" nillable="true" type="NZCodeSetsCitizenshipStatusType" />
      <xs:element name="CitizenshipVerification" minOccurs="0" nillable="true" type="VerificationEventType" />
      <xs:element name="Gender" minOccurs="0" nillable="true" type="NZCodeSetsGenderType" />
      <xs:element name="LanguageList" minOccurs="0" nillable="true" type="LanguageListType" />
      <xs:element name="CountryArrivalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EthnicityList" minOccurs="0" nillable="true" type="EthnicityListType" />
      <xs:element name="IwiAffiliationList" minOccurs="0" nillable="true" type="IwiAffiliationListType" />
      <xs:element name="ReligiousAffiliationList" minOccurs="0" nillable="true" type="ReligiousAffiliationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageListType-->

  <xs:complexType name="LanguageListType">
    <xs:sequence>
      <xs:element name="Language" minOccurs="0" maxOccurs="unbounded" type="LanguageBaseType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageBaseType-->

  <xs:complexType name="LanguageBaseType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsLanguageType" />
      <xs:element name="Usage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageUsageType" />
      <xs:element name="Dialect" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ProficiencyList" minOccurs="0" nillable="true" type="LanguageProficiencyListType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageProficiencyListType-->

  <xs:complexType name="LanguageProficiencyListType">
    <xs:sequence>
      <xs:element name="Proficiency" minOccurs="0" maxOccurs="unbounded" type="LanguageProficiencyType" />
    </xs:sequence>
  </xs:complexType>


  <!--LanguageProficiencyType-->

  <xs:complexType name="LanguageProficiencyType">
    <xs:sequence>
      <xs:element name="Level" minOccurs="0" type="NZCodeSetsLanguageProficiencyLevelType" />
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsLanguageProficiencyTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonEmailsType-->

  <xs:complexType name="PersonEmailsType">
    <xs:sequence>
      <xs:element name="Personal" minOccurs="0" nillable="true" type="EmailType" />
      <xs:element name="Work" minOccurs="0" nillable="true" type="EmailType" />
    </xs:sequence>
  </xs:complexType>


  <!--OrganisationEmailsType-->

  <xs:complexType name="OrganisationEmailsType">
    <xs:sequence>
      <xs:element name="Main" minOccurs="0" nillable="true" type="EmailType" />
    </xs:sequence>
  </xs:complexType>


  <!--EmailType-->

  <xs:complexType name="EmailType">
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="SourceOrganisation" minOccurs="0" nillable="true" type="OrganisationObjectReferenceType" />
          <xs:element name="Address" minOccurs="0" type="xs:normalizedString" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--OrganisationPhonesType-->

  <xs:complexType name="OrganisationPhonesType">
    <xs:sequence>
      <xs:element name="Main" minOccurs="0" nillable="true" type="PhoneNumberType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonPhonesType-->

  <xs:complexType name="PersonPhonesType">
    <xs:sequence>
      <xs:element name="Home" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="Work" minOccurs="0" nillable="true" type="PhoneNumberType" />
      <xs:element name="Mobile" minOccurs="0" nillable="true" type="PhoneNumberType" />
    </xs:sequence>
  </xs:complexType>


  <!--PhoneNumberType-->

  <xs:complexType name="PhoneNumberType">
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="Number" minOccurs="0" type="xs:normalizedString" />
          <xs:element name="Extension" minOccurs="0" nillable="true" type="xs:normalizedString" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--RelationshipType-->

  <xs:complexType name="RelationshipType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsRelationshipToStudentType" />
      <xs:element name="OtherTypeDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactFlagsType-->

  <xs:complexType name="ContactFlagsType">
    <xs:sequence>
      <xs:element name="ParentLegalGuardian" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="LivesWith" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="AccessToRecords" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="ReceivesAssessmentReport" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="EmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="CivilEmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="CivilDefenceEmergencyContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="DisciplinaryContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="AttendanceContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="PrimaryCareProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="FeesBilling" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="FeesAccess" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="FamilyMail" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="CourtOrder" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="HealthContact" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--HouseholdContactInfoListType-->

  <xs:complexType name="HouseholdContactInfoListType">
    <xs:sequence>
      <xs:element name="HouseholdContactInfo" minOccurs="0" maxOccurs="unbounded" type="HouseholdContactInfoType" />
    </xs:sequence>
  </xs:complexType>


  <!--HouseholdContactInfoType-->

  <xs:complexType name="HouseholdContactInfoType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="HouseholdContactId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="HouseholdSalutation" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressesType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="PersonEmailsType" />
      <xs:element name="Phone" minOccurs="0" nillable="true" type="PersonPhonesType" />
    </xs:sequence>
  </xs:complexType>


  <!--HouseholdListType-->

  <xs:complexType name="HouseholdListType">
    <xs:sequence>
      <xs:element name="HouseholdId" minOccurs="0" maxOccurs="unbounded" type="LocalIdType" />
    </xs:sequence>
  </xs:complexType>


  <!--EduOrganisationType-->

  <xs:complexType name="EduOrganisationType">
    <xs:sequence>
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressesType" />
      <xs:element name="CommunicationChannel" minOccurs="0" nillable="true" type="CommunicationChannelsType" />
      <xs:element name="ContactList" minOccurs="0" nillable="true" type="ContactListType" />
      <xs:element name="EducationRegion" minOccurs="0" nillable="true" type="NZCodeSetsEducationRegionType" />
      <xs:element name="SpecialEducationDistrict" minOccurs="0" nillable="true" type="NZCodeSetsSpecialEducationDistrictType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="OrganisationEmailsType" />
      <xs:element name="EntityClose" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="EntityOpen" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="LocationList" minOccurs="0" nillable="true" type="LocationListType" />
      <xs:element name="Name" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Phone" minOccurs="0" nillable="true" type="OrganisationPhonesType" />
      <xs:element name="RelatedOrganisationList" minOccurs="0" nillable="true" type="RelatedOrganisationListType" />
      <xs:element name="OperationalStatus" minOccurs="0" nillable="true" type="NZCodeSetsOperationalStatusType" />
      <xs:element name="OperationalStatusReason" minOccurs="0" nillable="true" type="NZCodeSetsOperationalStatusReasonType" />
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsOrganisationTypeType" />
      <xs:element name="SectorRole" minOccurs="0" nillable="true" type="NZCodeSetsOrganisationSectorRoleType" />
      <xs:element name="ProviderSMS" minOccurs="0" nillable="true" type="NZCodeSetsSchoolManagementSystemType" />
      <xs:element name="TeRitoConfig" minOccurs="0" nillable="true" type="TeRitoConfigurationType" />
      <xs:element name="IsLicencedECEServiceProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="IsPlaygroupServiceProvider" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="ECEServiceProviderOwnershipType" minOccurs="0" nillable="true" type="NZCodeSetsECEServiceProviderOwnershipTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--TeRitoConfigurationType-->

  <xs:complexType name="TeRitoConfigurationType">
    <xs:sequence>
      <xs:element name="DataAnalysisDashboardsInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="StandardisedLearningSupportRegisterInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="VirtualLearningEnvironmentInd" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactListType-->

  <xs:complexType name="ContactListType">
    <xs:sequence>
      <xs:element name="Contact" minOccurs="0" maxOccurs="unbounded" type="ContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--ContactType-->

  <xs:complexType name="ContactType">
    <xs:sequence>
      <xs:element name="Name" minOccurs="0" type="BaseNameType" />
      <xs:element name="PositionTitle" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsOrganisationContactRoleType" />
      <xs:element name="Address" minOccurs="0" nillable="true" type="AddressesType" />
      <xs:element name="Email" minOccurs="0" nillable="true" type="PersonEmailsType" />
      <xs:element name="Phone" minOccurs="0" nillable="true" type="PersonPhonesType" />
    </xs:sequence>
  </xs:complexType>


  <!--CommunicationChannelsType-->

  <xs:complexType name="CommunicationChannelsType">
    <xs:sequence>
      <xs:element name="Website" minOccurs="0" nillable="true" type="CommunicationChannelType" />
    </xs:sequence>
  </xs:complexType>


  <!--CommunicationChannelType-->

  <xs:complexType name="CommunicationChannelType">
    <xs:complexContent>
      <xs:extension base="BaseCommunicationChannelType">
        <xs:sequence>
          <xs:element name="Value" minOccurs="0" type="xs:string" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--RelatedOrganisationListType-->

  <xs:complexType name="RelatedOrganisationListType">
    <xs:sequence>
      <xs:element name="RelatedOrganisation" minOccurs="0" maxOccurs="unbounded" type="RelatedOrganisationType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedOrganisationType-->

  <xs:complexType name="RelatedOrganisationType">
    <xs:complexContent>
      <xs:extension base="OrganisationObjectReferenceType">
        <xs:sequence>
          <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
          <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
          <xs:element name="Type" minOccurs="0" type="NZCodeSetsOrganisationRelationshipTypeType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--VerificationEventType-->

  <xs:complexType name="VerificationEventType">
    <xs:sequence>
      <xs:element name="Source" minOccurs="0" type="NZCodeSetsVerificationSourceType" />
      <xs:element name="DocumentSerialNumber" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentExpiryDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="IsConfirmed" minOccurs="0" type="xs:boolean" />
      <xs:element name="Timestamp" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="Provider" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--EthnicityListType-->

  <xs:complexType name="EthnicityListType">
    <xs:sequence>
      <xs:element name="Ethnicity" minOccurs="0" maxOccurs="unbounded" type="EthnicityType" />
    </xs:sequence>
  </xs:complexType>


  <!--EthnicityType-->

  <xs:complexType name="EthnicityType">
    <xs:sequence>
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsEthnicityType" />
    </xs:sequence>
  </xs:complexType>


  <!--IwiAffiliationListType-->

  <xs:complexType name="IwiAffiliationListType">
    <xs:sequence>
      <xs:element name="Iwi" minOccurs="0" maxOccurs="unbounded" type="IwiType" />
    </xs:sequence>
  </xs:complexType>


  <!--IwiType-->

  <xs:complexType name="IwiType">
    <xs:sequence>
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsIwiType" />
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int" />
      <xs:element name="HapuAffiliationList" minOccurs="0" nillable="true" type="HapuAffiliationListType" />
    </xs:sequence>
  </xs:complexType>


  <!--HapuAffiliationListType-->

  <xs:complexType name="HapuAffiliationListType">
    <xs:sequence>
      <xs:element name="Hapu" minOccurs="0" maxOccurs="unbounded" type="HapuType" />
    </xs:sequence>
  </xs:complexType>


  <!--HapuType-->

  <xs:complexType name="HapuType">
    <xs:sequence>
      <xs:element name="HapuName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="PreferenceOrderNumber" minOccurs="0" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>


  <!--ReligiousAffiliationListType-->

  <xs:complexType name="ReligiousAffiliationListType">
    <xs:sequence>
      <xs:element name="ReligiousAffiliation" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsReligionType" />
    </xs:sequence>
  </xs:complexType>


  <!--HealthcareServiceInfoType-->

  <xs:complexType name="HealthcareServiceInfoType">
    <xs:sequence>
      <xs:element name="OrganisationName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="OrganisationPhoneNum" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="Notes" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Type" minOccurs="0" type="NZCodeSetsHealthcareServiceTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedToListType-->

  <xs:complexType name="RelatedToListType">
    <xs:sequence>
      <xs:element name="RelatedTo" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonDocumentRoleListType-->

  <xs:complexType name="PersonDocumentRoleListType">
    <xs:sequence>
      <xs:element name="PersonDocumentRole" minOccurs="0" maxOccurs="unbounded" type="PersonDocumentRoleType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonDocumentRoleType-->

  <xs:complexType name="PersonDocumentRoleType">
    <xs:sequence>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsDocumentRoleType" />
      <xs:choice>
        <xs:element name="Person" minOccurs="0" nillable="true" type="NamedObjectReferenceType" />
        <xs:element name="Student" minOccurs="0" nillable="true" type="StudentObjectReferenceType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>


  <!--MedicalNeedListType-->

  <xs:complexType name="MedicalNeedListType">
    <xs:sequence>
      <xs:element name="MedicalNeed" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSubjectChoiceListType-->

  <xs:complexType name="StudentSubjectChoiceListType">
    <xs:sequence>
      <xs:element name="StudentSubjectChoice" minOccurs="0" maxOccurs="unbounded" type="StudentSubjectChoiceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSubjectChoiceType-->

  <xs:complexType name="StudentSubjectChoiceType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsSubjectAreaType" />
    </xs:sequence>
  </xs:complexType>


  <!--EarlyChildhoodEducationType-->

  <xs:complexType name="EarlyChildhoodEducationType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsEarlyChildhoodEducationTypeType" />
      <xs:element name="HoursAttended" minOccurs="0" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentECEEnrolmentType-->

  <xs:complexType name="StudentECEEnrolmentType">
    <xs:sequence>
      <xs:element name="ECEYearLevel" minOccurs="0" nillable="true" type="NZCodeSetsECEYearLevelType" />
      <xs:element name="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentTertiaryEnrolmentType-->

  <xs:complexType name="StudentTertiaryEnrolmentType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolEnrolmentListType-->

  <xs:complexType name="StudentSchoolEnrolmentListType">
    <xs:sequence>
      <xs:element name="SchoolEnrolment" minOccurs="0" maxOccurs="unbounded" type="StudentSchoolEnrolmentType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolEnrolmentType-->

  <xs:complexType name="StudentSchoolEnrolmentType">
    <xs:sequence>
      <xs:element name="SchoolEnrolmentRefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="SchoolEnrolmentLocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="SchoolCalendarYear" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:minInclusive value="2000" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="2999" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="StartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="MembershipType" minOccurs="0" type="NZCodeSetsSchoolEnrolmentTypeType" />
      <xs:element name="YearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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:element name="EligibilityVerification" minOccurs="0" nillable="true" type="VerificationEventType" />
      <xs:element name="FTE" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:decimal">
            <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:element name="FundingYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <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:element name="CurriculumLevel" minOccurs="0">
        <xs:simpleType>
          <xs:restriction base="xs:unsignedInt">
            <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:element name="TimeInImmersion" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Section9Agreement" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="NZQA" minOccurs="0" nillable="true" type="NZQAEnrolmentType" />
      <xs:element name="OngoingResourceScheme" minOccurs="0" nillable="true" type="NZCodeSetsOngoingResourceSchemeType" />
      <xs:element name="SubjectChoiceList" minOccurs="0" nillable="true" type="StudentSubjectChoiceListType" />
      <xs:element name="CourseChoiceList" minOccurs="0" nillable="true" type="StudentCourseChoiceListType" />
      <xs:element name="CoEnrolment" minOccurs="0" nillable="true" type="StudentSchoolCoEnrolmentType" />
      <xs:element name="InternationalEnrolment" minOccurs="0" nillable="true" type="InternationalSchoolEnrolmentType" />
      <xs:element name="StudentConsentList" minOccurs="0" nillable="true" type="StudentConsentListType" />
      <xs:element name="AcademicAttainmentGoalList" minOccurs="0" nillable="true" type="AcademicAttainmentGoalListType" />
      <xs:element name="PreEnrolmentCancellation" minOccurs="0" nillable="true" type="PreEnrolmentCancellationType" />
    </xs:sequence>
  </xs:complexType>


  <!--NZQAEnrolmentType-->

  <xs:complexType name="NZQAEnrolmentType">
    <xs:sequence>
      <xs:element name="EnrolmentId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ExamCentre" minOccurs="0" nillable="true" type="OrganisationObjectReferenceType" />
      <xs:element name="FeeAmount" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="FinancialAssistance" minOccurs="0" nillable="true" type="NZCodeSetsNZQAFinancialAssistanceType" />
      <xs:element name="SortCode" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubmitterName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="SubmitterEmailAddress" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="WithdrawnAllAssessmentsInd" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicAttainmentGoalListType-->

  <xs:complexType name="AcademicAttainmentGoalListType">
    <xs:sequence>
      <xs:element name="AttainmentGoal" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentSchoolCoEnrolmentType-->

  <xs:complexType name="StudentSchoolCoEnrolmentType">
    <xs:sequence>
      <xs:element name="OtherProvider" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="CoEnrolmentType" minOccurs="0" nillable="true" type="NZCodeSetsCoEnrolmentTypeType" />
      <xs:element name="BehaviouralKeyIssuesNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ClientSchoolConfidentialNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GuardianConfidentialNote" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--InternationalSchoolEnrolmentType-->

  <xs:complexType name="InternationalSchoolEnrolmentType">
    <xs:sequence>
      <xs:element name="NZArrivalDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="TuitionWeeklyFee" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ExchangeScheme" minOccurs="0" nillable="true" type="NZCodeSetsExchangeSchemeType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentCourseChoiceListType-->

  <xs:complexType name="StudentCourseChoiceListType">
    <xs:sequence>
      <xs:element name="StudentCourseChoice" minOccurs="0" maxOccurs="unbounded" type="StudentCourseChoiceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentCourseChoiceType-->

  <xs:complexType name="StudentCourseChoiceType">
    <xs:sequence>
      <xs:element name="PreferenceNumber" minOccurs="0" nillable="true" type="xs:unsignedInt" />
      <xs:element name="Course" minOccurs="0" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--PreEnrolmentCancellationType-->

  <xs:complexType name="PreEnrolmentCancellationType">
    <xs:sequence>
      <xs:element name="NotifiedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="CancellationMethod" minOccurs="0" nillable="true" type="NZCodeSetsPreEnrolmentExitTypeType" />
      <xs:element name="CancellationReason" minOccurs="0" nillable="true" type="NZCodeSetsPreEnrolmentCancellationReasonType" />
      <xs:element name="CancellationReasonOtherDesc" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--ProviderExitType-->

  <xs:complexType name="ProviderExitType">
    <xs:sequence>
      <xs:element name="Reason" minOccurs="0" type="NZCodeSetsEnrolmentExitTypeType" />
      <xs:element name="PostSchoolActivity" minOccurs="0" nillable="true" type="NZCodeSetsPostSchoolActivityType" />
      <xs:element name="InterventionList" minOccurs="0" nillable="true" type="InterventionListType" />
      <xs:element name="PotentialDestinationSchoolList" minOccurs="0" nillable="true" type="PotentialDestinationSchoolListType" />
    </xs:sequence>
  </xs:complexType>


  <!--InterventionListType-->

  <xs:complexType name="InterventionListType">
    <xs:sequence>
      <xs:element name="Intervention" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--PotentialDestinationSchoolListType-->

  <xs:complexType name="PotentialDestinationSchoolListType">
    <xs:sequence>
      <xs:element name="School" minOccurs="0" maxOccurs="unbounded" type="OrganisationObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--ECEEducationHistoryListType-->

  <xs:complexType name="ECEEducationHistoryListType">
    <xs:sequence>
      <xs:element name="ECEType" minOccurs="0" maxOccurs="unbounded" type="ECEHistoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--ECEHistoryType-->

  <xs:complexType name="ECEHistoryType">
    <xs:sequence>
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsEarlyChildhoodEducationTypeType" />
      <xs:element name="HoursPerDayAttended" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:normalizedString">
            <xs:pattern value="(((\d|(1\d)|2[0-3])(\.\d{1,2})?)|24(\.0{1,2})?)" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="HoursPerWeekAttended" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:normalizedString">
            <xs:pattern value="(((\d{1,2}|(1[0-5]\d)|16[0-7])(\.\d{1,2})?)|168(\.0{1,2})?)" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>


  <!--ScheduleDayListType-->

  <xs:complexType name="ScheduleDayListType">
    <xs:sequence>
      <xs:element name="ScheduleAcademicDay" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SchedulePeriodTimeListType-->

  <xs:complexType name="SchedulePeriodTimeListType">
    <xs:sequence>
      <xs:element name="SchedulePeriodTime" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--CalendarDateListType-->

  <xs:complexType name="CalendarDateListType">
    <xs:sequence>
      <xs:element name="CalendarDate" minOccurs="0" maxOccurs="unbounded" type="CalendarDateType" />
    </xs:sequence>
  </xs:complexType>


  <!--CalendarDateType-->

  <xs:complexType name="CalendarDateType">
    <xs:sequence>
      <xs:element name="Date" minOccurs="0" type="xs:date" />
      <xs:element name="SchoolClosed" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="ScheduleAcademicDay" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="SchedulePeriodTime" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ScheduleTermList" minOccurs="0" nillable="true" type="ScheduleTermListType" />
    </xs:sequence>
  </xs:complexType>


  <!--PeriodListType-->

  <xs:complexType name="PeriodListType">
    <xs:sequence>
      <xs:element name="Period" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--ScheduleTermListType-->

  <xs:complexType name="ScheduleTermListType">
    <xs:sequence>
      <xs:element name="ScheduleTerm" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--TeachingGroupEventListType-->

  <xs:complexType name="TeachingGroupEventListType">
    <xs:sequence>
      <xs:element name="Event" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicDayListType-->

  <xs:complexType name="AcademicDayListType">
    <xs:sequence>
      <xs:element name="AcademicDay" minOccurs="0" maxOccurs="unbounded" type="AcademicDayType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicDayType-->

  <xs:complexType name="AcademicDayType">
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="SchedulePeriodTime" minOccurs="0" nillable="true" type="ObjectReferenceType" />
          <xs:element name="PeriodList" minOccurs="0" type="PeriodListType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--DayPeriodTimeListType-->

  <xs:complexType name="DayPeriodTimeListType">
    <xs:sequence>
      <xs:element name="DayPeriodTime" minOccurs="0" maxOccurs="unbounded" type="DayPeriodTimeType" />
    </xs:sequence>
  </xs:complexType>


  <!--DayPeriodTimeType-->

  <xs:complexType name="DayPeriodTimeType">
    <xs:sequence>
      <xs:element name="SchedulePeriod" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="StartTime" minOccurs="0" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" type="xs:time" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentAttendanceListType-->

  <xs:complexType name="StudentAttendanceListType">
    <xs:sequence>
      <xs:element name="StudentAttendance" minOccurs="0" maxOccurs="unbounded" type="StudentAttendanceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentAttendanceType-->

  <xs:complexType name="StudentAttendanceType">
    <xs:sequence>
      <xs:element name="Student" minOccurs="0" type="StudentObjectReferenceType" />
      <xs:element name="Code" minOccurs="0" type="NZCodeSetsAttendanceCodeType" />
      <xs:element name="CodeGroup" minOccurs="0" nillable="true" type="NZCodeSetsAttendanceCodeGroupType" />
      <xs:element name="Note" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time" />
    </xs:sequence>
  </xs:complexType>


  <!--ScheduledMeetingType-->

  <xs:complexType name="ScheduledMeetingType">
    <xs:sequence>
      <xs:element name="SchedulePeriod" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="StartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" nillable="true" type="xs:time" />
    </xs:sequence>
  </xs:complexType>


  <!--AdHocMeetingType-->

  <xs:complexType name="AdHocMeetingType">
    <xs:sequence>
      <xs:element name="MeetingName" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="StartTime" minOccurs="0" type="xs:time" />
      <xs:element name="EndTime" minOccurs="0" type="xs:time" />
    </xs:sequence>
  </xs:complexType>


  <!--NoteListType-->

  <xs:complexType name="NoteListType">
    <xs:sequence>
      <xs:element name="Note" minOccurs="0" maxOccurs="unbounded" type="NoteType" />
    </xs:sequence>
  </xs:complexType>


  <!--NoteType-->

  <xs:complexType name="NoteType">
    <xs:sequence>
      <xs:element name="Note" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="CreatedDateTime" minOccurs="0" type="xs:dateTime" />
      <xs:element name="LastUpdatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="CreatedBy" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="LastUpdatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--MedicationListType-->

  <xs:complexType name="MedicationListType">
    <xs:sequence>
      <xs:element name="Medication" minOccurs="0" maxOccurs="unbounded" type="MedicationType" />
    </xs:sequence>
  </xs:complexType>


  <!--MedicationType-->

  <xs:complexType name="MedicationType">
    <xs:sequence>
      <xs:element name="MedicationName" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Dosage" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Frequency" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AdministrationInformation" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="Method" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="MedicationConsentList" minOccurs="0" nillable="true" type="MedicationConsentListType" />
    </xs:sequence>
  </xs:complexType>


  <!--MedicationConsentListType-->

  <xs:complexType name="MedicationConsentListType">
    <xs:sequence>
      <xs:element name="MedicationConsent" minOccurs="0" maxOccurs="unbounded" type="MedicationConsentType" />
    </xs:sequence>
  </xs:complexType>


  <!--MedicationConsentType-->

  <xs:complexType name="MedicationConsentType">
    <xs:sequence>
      <xs:element name="StartDate" minOccurs="0" type="xs:date" />
      <xs:element name="EndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ConsentedBy" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ProviderApplicableTo" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="AdministeredBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingEventCategoryListType-->

  <xs:complexType name="WellbeingEventCategoryListType">
    <xs:sequence>
      <xs:element name="EventCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingEventCategoryType-->

  <xs:complexType name="WellbeingEventCategoryType">
    <xs:sequence>
      <xs:element name="Category" minOccurs="0" type="NZCodeSetsWellbeingEventCategoryType" />
      <xs:element name="EventSubCategoryList" minOccurs="0" nillable="true" type="WellbeingEventSubCategoryListType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingEventSubCategoryListType-->

  <xs:complexType name="WellbeingEventSubCategoryListType">
    <xs:sequence>
      <xs:element name="EventSubCategory" minOccurs="0" maxOccurs="unbounded" type="WellbeingEventSubCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingEventSubCategoryType-->

  <xs:complexType name="WellbeingEventSubCategoryType">
    <xs:sequence>
      <xs:element name="SubCategory" minOccurs="0" type="NZCodeSetsWellbeingEventSubCategoryType" />
    </xs:sequence>
  </xs:complexType>


  <!--FollowUpActionListType-->

  <xs:complexType name="FollowUpActionListType">
    <xs:sequence>
      <xs:element name="FollowUpAction" minOccurs="0" maxOccurs="unbounded" type="FollowUpActionType" />
    </xs:sequence>
  </xs:complexType>


  <!--FollowUpActionType-->

  <xs:complexType name="FollowUpActionType">
    <xs:sequence>
      <xs:element name="WellbeingResponseRefId" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="FollowUpDetails" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="FollowUpActionCategory" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonInvolvementListType-->

  <xs:complexType name="PersonInvolvementListType">
    <xs:sequence>
      <xs:element name="PersonInvolvement" minOccurs="0" maxOccurs="unbounded" type="PersonInvolvementType" />
    </xs:sequence>
  </xs:complexType>


  <!--PersonInvolvementType-->

  <xs:complexType name="PersonInvolvementType">
    <xs:complexContent>
      <xs:extension base="StudentObjectReferenceType">
        <xs:sequence>
          <xs:element name="HowInvolved" minOccurs="0" nillable="true" type="xs:normalizedString" />
          <xs:element name="PersonType" minOccurs="0" nillable="true" type="NZCodeSetsPersonInvolvedTypeType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--RecognitionListType-->

  <xs:complexType name="RecognitionListType">
    <xs:sequence>
      <xs:element name="Recognition" minOccurs="0" maxOccurs="unbounded" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--WithdrawalTimeListType-->

  <xs:complexType name="WithdrawalTimeListType">
    <xs:sequence>
      <xs:element name="Withdrawal" minOccurs="0" maxOccurs="unbounded" type="WithdrawalType" />
    </xs:sequence>
  </xs:complexType>


  <!--WithdrawalType-->

  <xs:complexType name="WithdrawalType">
    <xs:sequence>
      <xs:element name="WithdrawalStartDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="WithdrawalEndDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="WithdrawalStartTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="WithdrawalEndTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="SchoolTerm" minOccurs="0" nillable="true" type="xs:integer" />
      <xs:element name="WithdrawalFrom" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SuspensionContainerType-->

  <xs:complexType name="SuspensionContainerType">
    <xs:sequence>
      <xs:element name="SuspensionCategory" minOccurs="0" nillable="true" type="NZCodeSetsSuspensionCategoryType" />
      <xs:element name="WithdrawalTimeList" minOccurs="0" nillable="true" type="WithdrawalTimeListType" />
      <xs:element name="Duration" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="AdvisementDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="ResolutionMeetingTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="ResolutionNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="EarlyReturnDate" minOccurs="0" nillable="true" type="xs:date" />
    </xs:sequence>
  </xs:complexType>


  <!--DetentionContainerType-->

  <xs:complexType name="DetentionContainerType">
    <xs:sequence>
      <xs:element name="DetentionCategory" minOccurs="0" nillable="true" type="NZCodeSetsDetentionCategoryType" />
      <xs:element name="DetentionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DetentionLocation" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="DetentionNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--PlanRequiredListType-->

  <xs:complexType name="PlanRequiredListType">
    <xs:sequence>
      <xs:element name="Plan" minOccurs="0" maxOccurs="unbounded" type="WellbeingPlanType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingPlanType-->

  <xs:complexType name="WellbeingPlanType">
    <xs:sequence>
      <xs:element name="PlanNotes" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="PlanDocument" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--AwardContainerType-->

  <xs:complexType name="AwardContainerType">
    <xs:sequence>
      <xs:element name="AwardDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AwardType" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingAwardTypeType" />
      <xs:element name="AwardDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="AwardNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--OtherWellbeingResponseContainerType-->

  <xs:complexType name="OtherWellbeingResponseContainerType">
    <xs:sequence>
      <xs:element name="OtherResponseDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="OtherResponseDescription" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="OtherResponseNotes" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--AcknowledgementListType-->

  <xs:complexType name="AcknowledgementListType">
    <xs:sequence>
      <xs:element name="Acknowledgement" minOccurs="0" maxOccurs="unbounded" type="AcknowledgementType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcknowledgementType-->

  <xs:complexType name="AcknowledgementType">
    <xs:sequence>
      <xs:element name="Acknowledged" minOccurs="0" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="AcknowledgedDate" minOccurs="0" type="xs:date" />
      <xs:element name="Provider" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="StaffMember" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--KeyContactListType-->

  <xs:complexType name="KeyContactListType">
    <xs:sequence>
      <xs:element name="KeyContact" minOccurs="0" maxOccurs="unbounded" type="KeyContactType" />
    </xs:sequence>
  </xs:complexType>


  <!--KeyContactType-->

  <xs:complexType name="KeyContactType">
    <xs:sequence>
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsKeyContactRoleType" />
      <xs:element name="Contact" minOccurs="0" nillable="true" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingResponseListType-->

  <xs:complexType name="WellbeingResponseListType">
    <xs:sequence>
      <xs:element name="WellbeingResponse" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingAppealListType-->

  <xs:complexType name="WellbeingAppealListType">
    <xs:sequence>
      <xs:element name="WellbeingAppeal" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingCharacteristicListType-->

  <xs:complexType name="WellbeingCharacteristicListType">
    <xs:sequence>
      <xs:element name="WellbeingCharacteristic" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingEventListType-->

  <xs:complexType name="WellbeingEventListType">
    <xs:sequence>
      <xs:element name="WellbeingEvent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--WellbeingAlertListType-->

  <xs:complexType name="WellbeingAlertListType">
    <xs:sequence>
      <xs:element name="WellbeingAlert" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RelatedWellbeingEventListType-->

  <xs:complexType name="RelatedWellbeingEventListType">
    <xs:sequence>
      <xs:element name="RelatedWellbeingEvent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintWitnessListType-->

  <xs:complexType name="RestraintWitnessListType">
    <xs:sequence>
      <xs:element name="Witness" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintAdministeredByListType-->

  <xs:complexType name="RestraintAdministeredByListType">
    <xs:sequence>
      <xs:element name="RestraintAdministeredBy" minOccurs="0" maxOccurs="unbounded" type="RestraintAdministeredByType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintAdministeredByType-->

  <xs:complexType name="RestraintAdministeredByType">
    <xs:sequence>
      <xs:element name="AdministeredBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="SafePhysicalRestraintTraining" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="TrainingDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Role" minOccurs="0" nillable="true" type="NZCodeSetsRestraintAdministeredByRoleType" />
    </xs:sequence>
  </xs:complexType>


  <!--BehaviourDirectedAtListType-->

  <xs:complexType name="BehaviourDirectedAtListType">
    <xs:sequence>
      <xs:element name="BehaviourDirectedAt" minOccurs="0" maxOccurs="unbounded" type="BehaviourDirectedAtType" />
    </xs:sequence>
  </xs:complexType>


  <!--BehaviourDirectedAtType-->

  <xs:complexType name="BehaviourDirectedAtType">
    <xs:sequence>
      <xs:element name="DirectedAt" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="BehaviourDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DirectedAtType" minOccurs="0" nillable="true" type="NZCodeSetsBehaviourDirectedAtTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffReflectionListType-->

  <xs:complexType name="StaffReflectionListType">
    <xs:sequence>
      <xs:element name="StaffReflection" minOccurs="0" maxOccurs="unbounded" type="StaffReflectionType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffReflectionType-->

  <xs:complexType name="StaffReflectionType">
    <xs:sequence>
      <xs:element name="ReflectionDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="WitnessedBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="Staff" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="ReflectionList" minOccurs="0" nillable="true" type="ReflectionListType" />
    </xs:sequence>
  </xs:complexType>


  <!--ReflectionListType-->

  <xs:complexType name="ReflectionListType">
    <xs:sequence>
      <xs:element name="Reflection" minOccurs="0" maxOccurs="unbounded" type="ReflectionType" />
    </xs:sequence>
  </xs:complexType>


  <!--ReflectionType-->

  <xs:complexType name="ReflectionType">
    <xs:sequence>
      <xs:element name="ReflectionDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Type" minOccurs="0" nillable="true" type="NZCodeSetsStaffRestraintReflectionTypeType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintDebriefingListType-->

  <xs:complexType name="RestraintDebriefingListType">
    <xs:sequence>
      <xs:element name="RestraintDebriefing" minOccurs="0" maxOccurs="unbounded" type="RestraintDebriefingType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintDebriefingType-->

  <xs:complexType name="RestraintDebriefingType">
    <xs:sequence>
      <xs:element name="DebriefingDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="DebriefingTime" minOccurs="0" nillable="true" type="xs:time" />
      <xs:element name="Findings" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="NextStepsActions" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ParentCaregiverComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="StudentComment" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DebriefingType" minOccurs="0" nillable="true" type="NZCodeSetsRestraintDebriefingTypeType" />
      <xs:element name="AttendeeList" minOccurs="0" nillable="true" type="AttendeeListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AttendeeListType-->

  <xs:complexType name="AttendeeListType">
    <xs:sequence>
      <xs:element name="Attendee" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintQuestionListType-->

  <xs:complexType name="RestraintQuestionListType">
    <xs:sequence>
      <xs:element name="RestraintQuestion" minOccurs="0" maxOccurs="unbounded" type="RestraintQuestionType" />
    </xs:sequence>
  </xs:complexType>


  <!--RestraintQuestionType-->

  <xs:complexType name="RestraintQuestionType">
    <xs:sequence>
      <xs:element name="Question" minOccurs="0" type="NZCodeSetsRestraintQuestionType" />
      <xs:element name="Answer" minOccurs="0" nillable="true" type="NZCodeSetsYesOrNoCategoryType" />
      <xs:element name="AnswerSupportingDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SocialGoalListType-->

  <xs:complexType name="SocialGoalListType">
    <xs:sequence>
      <xs:element name="SocialGoal" minOccurs="0" maxOccurs="unbounded" type="BaseStudentGoalType" />
    </xs:sequence>
  </xs:complexType>


  <!--CareerGoalListType-->

  <xs:complexType name="CareerGoalListType">
    <xs:sequence>
      <xs:element name="CareerGoal" minOccurs="0" maxOccurs="unbounded" type="BaseStudentGoalType" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicGoalListType-->

  <xs:complexType name="AcademicGoalListType">
    <xs:sequence>
      <xs:element name="AcademicGoal" minOccurs="0" maxOccurs="unbounded" type="AcademicGoalType" />
    </xs:sequence>
  </xs:complexType>


  <!--BaseStudentGoalType-->

  <xs:complexType name="BaseStudentGoalType">
    <xs:sequence>
      <xs:element name="GoalRecordedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GoalAchievedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="GoalDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="GoalName" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--AcademicGoalType-->

  <xs:complexType name="AcademicGoalType">
    <xs:complexContent>
      <xs:extension base="BaseStudentGoalType">
        <xs:sequence>
          <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--StudentInterestListType-->

  <xs:complexType name="StudentInterestListType">
    <xs:sequence>
      <xs:element name="StudentInterest" minOccurs="0" maxOccurs="unbounded" type="StudentInterestType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentInterestType-->

  <xs:complexType name="StudentInterestType">
    <xs:sequence>
      <xs:element name="InterestRecordedDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="InterestDescription" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InterestName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="InterestType" minOccurs="0" nillable="true" type="NZCodeSetsStudentInterestTypeType" />
      <xs:element name="SubjectArea" minOccurs="0" nillable="true" type="NZCodeSetsSubjectAreaType" />
    </xs:sequence>
  </xs:complexType>


  <!--EventLocationListType-->

  <xs:complexType name="EventLocationListType">
    <xs:sequence>
      <xs:element name="Location" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventLocationType" />
    </xs:sequence>
  </xs:complexType>


  <!--ActionTakenListType-->

  <xs:complexType name="ActionTakenListType">
    <xs:sequence>
      <xs:element name="ActionTaken" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventActionTakenType" />
    </xs:sequence>
  </xs:complexType>


  <!--PossibleMotivationListType-->

  <xs:complexType name="PossibleMotivationListType">
    <xs:sequence>
      <xs:element name="PossibleMotivation" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventPossibleMotivationType" />
    </xs:sequence>
  </xs:complexType>


  <!--BehaviourIdentifiedListType-->

  <xs:complexType name="BehaviourIdentifiedListType">
    <xs:sequence>
      <xs:element name="BehaviourIdentified" minOccurs="0" maxOccurs="unbounded" type="BehaviourIdentifiedType" />
    </xs:sequence>
  </xs:complexType>


  <!--BehaviourIdentifiedType-->

  <xs:complexType name="BehaviourIdentifiedType">
    <xs:sequence>
      <xs:element name="Severity" minOccurs="0" nillable="true" type="NZCodeSetsWellbeingEventSeverityType" />
      <xs:choice>
        <xs:element name="MinorBehaviour" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventMinorBehaviourType" />
        <xs:element name="MajorBehaviour" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsWellbeingEventMajorBehaviourType" />
      </xs:choice>
    </xs:sequence>
  </xs:complexType>


  <!--StudentVoiceListType-->

  <xs:complexType name="StudentVoiceListType">
    <xs:sequence>
      <xs:element name="StudentVoice" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedListType-->

  <xs:complexType name="SupportNeedListType">
    <xs:sequence>
      <xs:element name="SupportNeed" minOccurs="0" maxOccurs="unbounded" type="SupportNeedType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedType-->

  <xs:complexType name="SupportNeedType">
    <xs:sequence>
      <xs:element name="Need" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ResponseList" minOccurs="0" nillable="true" type="SupportNeedResponseListType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedResponseListType-->

  <xs:complexType name="SupportNeedResponseListType">
    <xs:sequence>
      <xs:element name="Response" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedResponseReviewListType-->

  <xs:complexType name="SupportNeedResponseReviewListType">
    <xs:sequence>
      <xs:element name="Review" minOccurs="0" maxOccurs="unbounded" type="SupportNeedResponseReviewType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedResponseReviewType-->

  <xs:complexType name="SupportNeedResponseReviewType">
    <xs:sequence>
      <xs:element name="Reviewer" minOccurs="0" type="ObjectReferenceType" />
      <xs:element name="ReviewDate" minOccurs="0" type="xs:date" />
      <xs:element name="ReviewComments" minOccurs="0" type="xs:normalizedString" />
      <xs:element name="NextReviewDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="AttachmentList" minOccurs="0" nillable="true" type="DocumentListType" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedExternalResponseType-->

  <xs:complexType name="SupportNeedExternalResponseType">
    <xs:sequence>
      <xs:element name="Provider" minOccurs="0" type="NZCodeSetsLearningSupportExternalProviderType" />
      <xs:element name="ProviderDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Status" minOccurs="0" type="NZCodeSetsLearningSupportExtResponseStatusType" />
      <xs:element name="MOESpecialistService" minOccurs="0" nillable="true" type="NZCodeSetsMoESpecialistServiceType" />
      <xs:element name="FundedBy" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportExternalFunderType" />
      <xs:element name="FundedByDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="RequestMadeDate" minOccurs="0" nillable="true" type="xs:date" />
      <xs:element name="FundingStatus" minOccurs="0" nillable="true" type="NZCodeSetsLearningSupportFundingStatusType" />
      <xs:element name="FundingDeclinedReason" minOccurs="0" nillable="true" type="xs:normalizedString" />
    </xs:sequence>
  </xs:complexType>


  <!--SupportNeedInternalResponseType-->

  <xs:complexType name="SupportNeedInternalResponseType">
    <xs:sequence>
      <xs:element name="ProvidedBy" minOccurs="0" type="NZCodeSetsLearningSupportInternalProviderType" />
      <xs:element name="ProvidedByName" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="Status" minOccurs="0" type="NZCodeSetsLearningSupportIntResponseStatusType" />
      <xs:element name="FundedBy" minOccurs="0" type="NZCodeSetsLearningSupportInternalFunderType" />
    </xs:sequence>
  </xs:complexType>


  <!--OfficialDiagnosisListType-->

  <xs:complexType name="OfficialDiagnosisListType">
    <xs:sequence>
      <xs:element name="OfficialDiagnosis" minOccurs="0" maxOccurs="unbounded" type="OfficialDiagnosisType" />
    </xs:sequence>
  </xs:complexType>


  <!--OfficialDiagnosisType-->

  <xs:complexType name="OfficialDiagnosisType">
    <xs:sequence>
      <xs:element name="DiagnosisType" minOccurs="0" type="NZCodeSetsOfficialDiagnosisTypeType" />
      <xs:element name="DiagnosisSubType" minOccurs="0" nillable="true" type="NZCodeSetsOfficialDiagnosisSubTypeType" />
      <xs:element name="OfficialDiagnosisDetail" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="DocumentList" minOccurs="0" nillable="true" type="DocumentListType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentTaskListType-->

  <xs:complexType name="AssessmentTaskListType">
    <xs:sequence>
      <xs:element name="SubAssessmentTask" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--NZQAAssessmentRegistrationType-->

  <xs:complexType name="NZQAAssessmentRegistrationType">
    <xs:sequence>
      <xs:element name="EnrolmentId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="EntryId" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="AssessmentRequestType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentRequestTypeType" />
      <xs:element name="PaperLanguage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType" />
      <xs:element name="AnswerLanguage" minOccurs="0" nillable="true" type="NZCodeSetsLanguageType" />
    </xs:sequence>
  </xs:complexType>


  <!--SpecialAssessmentConditionListType-->

  <xs:complexType name="SpecialAssessmentConditionListType">
    <xs:sequence>
      <xs:element name="SpecialAssessmentCondition" minOccurs="0" maxOccurs="unbounded" type="NZCodeSetsSpecialAssessmentConditionType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentResultScoreListType-->

  <xs:complexType name="AssessmentResultScoreListType">
    <xs:sequence>
      <xs:element name="ResultScore" minOccurs="0" maxOccurs="unbounded" type="AssessmentResultScoreType" />
    </xs:sequence>
  </xs:complexType>


  <!--AssessmentResultScoreType-->

  <xs:complexType name="AssessmentResultScoreType">
    <xs:sequence>
      <xs:element name="ScoreType" minOccurs="0" nillable="true" type="NZCodeSetsScoreTypeType" />
      <xs:element name="Competency" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ScoreMetric" minOccurs="0" nillable="true" type="NZCodeSetsScoreMetricType" />
      <xs:element name="ScoreValue" minOccurs="0" nillable="true" type="xs:normalizedString" />
      <xs:element name="ScoreMax" minOccurs="0" nillable="true" type="xs:decimal" />
      <xs:element name="ItemNumber" minOccurs="0" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>


  <!--JustificationListType-->

  <xs:complexType name="JustificationListType">
    <xs:sequence>
      <xs:element name="Justification" minOccurs="0" maxOccurs="unbounded" type="JustificationType" />
    </xs:sequence>
  </xs:complexType>


  <!--JustificationType-->

  <xs:complexType name="JustificationType">
    <xs:complexContent>
      <xs:extension base="NamedObjectReferenceType">
        <xs:sequence>
          <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType" />
          <xs:element name="Result" minOccurs="0" type="xs:normalizedString" />
          <xs:element name="Date" minOccurs="0" type="xs:date" />
          <xs:element name="CreditValue" minOccurs="0" nillable="true" type="xs:decimal" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--ObjectReferenceType-->

  <xs:complexType name="ObjectReferenceType">
    <xs:sequence>
      <xs:element name="RefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:string" />
    </xs:sequence>
  </xs:complexType>


  <!--NamedObjectReferenceType-->

  <xs:complexType name="NamedObjectReferenceType">
    <xs:sequence>
      <xs:element name="RefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="ObjectType" minOccurs="0" type="NZCodeSetsReferrableDataObjectsType" />
    </xs:sequence>
  </xs:complexType>


  <!--OrganisationObjectReferenceType-->

  <xs:complexType name="OrganisationObjectReferenceType">
    <xs:sequence>
      <xs:element name="RefId" minOccurs="0" nillable="true" type="RefIdType" />
      <xs:element name="LocalId" minOccurs="0" nillable="true" type="LocalIdType" />
      <xs:element name="Name" minOccurs="0" nillable="true" type="xs:string" />
      <xs:element name="LocationNum" minOccurs="0" nillable="true" type="xs:int" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentObjectReferenceType-->

  <xs:complexType name="StudentObjectReferenceType">
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="NationalStudentNumber" minOccurs="0" nillable="true" type="NSNType" />
          <xs:element name="YearLevel" minOccurs="0" nillable="true">
            <xs:simpleType>
              <xs:restriction base="xs:positiveInteger">
                <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>


  <!--LearningStandardObjectReferenceType-->

  <xs:complexType name="LearningStandardObjectReferenceType">
    <xs:sequence>
      <xs:element name="Number" minOccurs="0" type="xs:int" />
      <xs:element name="VersionNo" minOccurs="0" type="xs:decimal" />
    </xs:sequence>
  </xs:complexType>


  <!--PrerequisiteListType-->

  <xs:complexType name="PrerequisiteListType">
    <xs:sequence>
      <xs:element name="Prerequisite" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--OrganisationInvolvedListType-->

  <xs:complexType name="OrganisationInvolvedListType">
    <xs:sequence>
      <xs:element name="OrganisationInvolved" minOccurs="0" maxOccurs="unbounded" type="OrganisationInvolvedType" />
    </xs:sequence>
  </xs:complexType>


  <!--OrganisationInvolvedType-->

  <xs:complexType name="OrganisationInvolvedType">
    <xs:complexContent>
      <xs:extension base="OrganisationObjectReferenceType">
        <xs:sequence>
          <xs:element name="OrganisationRole" minOccurs="0" type="NZCodeSetsAssessmentProviderRoleType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--StaffInvolvedListType-->

  <xs:complexType name="StaffInvolvedListType">
    <xs:sequence>
      <xs:element name="StaffInvolved" minOccurs="0" maxOccurs="unbounded" type="StaffInvolvedType" />
    </xs:sequence>
  </xs:complexType>


  <!--StaffInvolvedType-->

  <xs:complexType name="StaffInvolvedType">
    <xs:complexContent>
      <xs:extension base="ObjectReferenceType">
        <xs:sequence>
          <xs:element name="StaffRole" minOccurs="0" type="NZCodeSetsAssessmentStaffRoleType" />
        </xs:sequence>
      </xs:extension>
    </xs:complexContent>
  </xs:complexType>


  <!--DocumentListType-->

  <xs:complexType name="DocumentListType">
    <xs:sequence>
      <xs:element name="Document" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--StudentConsentListType-->

  <xs:complexType name="StudentConsentListType">
    <xs:sequence>
      <xs:element name="StudentConsent" minOccurs="0" maxOccurs="unbounded" type="ObjectReferenceType" />
    </xs:sequence>
  </xs:complexType>


  <!--RecordAuditType-->

  <xs:complexType name="RecordAuditType">
    <xs:sequence>
      <xs:element name="CreatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="LastUpdatedDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="DeletedDateTime" minOccurs="0" nillable="true" type="xs:dateTime" />
      <xs:element name="CreatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="LastUpdatedBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="DeletedBy" minOccurs="0" nillable="true" type="ObjectReferenceType" />
      <xs:element name="DeletedReason" minOccurs="0" nillable="true" type="NZCodeSetsDeletedReasonType" />
    </xs:sequence>
  </xs:complexType>


  <!--NSNType-->

  <xs:simpleType name="NSNType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <xs:pattern value="[0-9]{1,10}" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>


  <!--RefIdType-->

  <xs:simpleType name="RefIdType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:token">
          <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>


  <!--LocalIdType-->

  <xs:simpleType name="LocalIdType">
    <xs:restriction>
      <xs:simpleType>
        <xs:restriction base="xs:normalizedString">
          <xs:pattern value="[^\s]+" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
        </xs:restriction>
      </xs:simpleType>
    </xs:restriction>
  </xs:simpleType>

</xs:schema>