<!--
		SIF Implementation Specification (New Zealand) 3.1
		(8 December, 2020
)
		
		Infrastructure Version: v3.1
	-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.sifassociation.org/datamodel/nz/3.1" targetNamespace="http://www.sifassociation.org/datamodel/nz/3.1" elementFormDefault="qualified" version="3.1 (rc 5)">
  <xs:complexType name="AssessmentTaskType">
    <xs:annotation>
      <xs:appinfo>
        <sifChar />
        <privacyRating>Low</privacyRating>
      </xs:appinfo>
      <xs:documentation>
        This object provides information about a particular assignment, allows applications to
        synchronize each other's assignment tables, gathers the definition for a StudentAssessmentTask object, etc.  
      </xs:documentation>
    </xs:annotation>
    <xs:sequence>
      <xs:element name="AssessmentTaskRefId" minOccurs="0" nillable="true" type="RefIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The universally unique identifier for the data object record that is used across systems.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentTaskLocalId" minOccurs="0" nillable="true" type="LocalIdType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The Id of the data object record that was provided by the system that the information 
			was originally sourced from.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentName" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The name of the assessment task.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProviderInvolvedList" type="ProviderInvolvedListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of the providers involved and their role, e.g. assessing provider, assessment provider, 
        assessment location provider, registering provider.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="TeachingGroup" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Generic object reference to the TeachingGroup object in which this assignment has been set.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="ProviderCourse" minOccurs="0" nillable="true" type="ObjectReferenceType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Generic object reference to the ProviderCourse all of whose students will be
        participating in the assessment task.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StudentList" minOccurs="0" nillable="true" type="StudentListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The GUIDs for students that are the intended participants for this Assessement Task.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StaffInvolvedList" minOccurs="0" nillable="true" type="StaffInvolvedListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of the staff involved and their role in relation to the assessment task, e.g. the moderator, the marker.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Description" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The text-based description of the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PointsPossible" minOccurs="0" nillable="true" type="xs:unsignedInt">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The points possible on the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DueDate" minOccurs="0" nillable="true" type="xs:date">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Date the assignment is due.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Weight" minOccurs="0" nillable="true" type="xs:decimal">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The weight of the assignment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="MaxAttemptsAllowed" minOccurs="0" nillable="true" type="xs:integer">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>How many attempts the student is allowed on the assignment (applicable particularly to online activities).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="DetailedDescriptionURL" minOccurs="0" nillable="true" type="xs:anyURI">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The location of the document that describes the assignment. If Type is PDF, this element will contain the Base64 encoding of the entire document. Preferred against DetailedDescriptionBinary for online assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Type of assessment (e.g. diagnostic vs paedagogical - Summative or Formative).</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentMethodology" type="NZCodeSetsAssessmentMethodologyType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>M</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Code denoting the nature of the assessment process;  Primary assessment against NZ Curriculum or Te Marautanga
      o Aotearoa; Secondary assessment against NCEA, Cambridge, International Baccalaureate, or similar.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="EvaluationType" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentEvaluationTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of assessment evaluation, e.g. formative or summative.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Curriculum" minOccurs="0" nillable="true" type="NZCodeSetsCurriculumType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The curriculum the assessment is for.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentToolUsed" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The assessment tool the assessment is used as part of. Both the original free text value sent by the 
      SMS vendors and the value it is mapped to in this code set are held.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentToolTest" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentToolTestType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The tests available within an assessment tool that is being used by this assessment task.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessmentPurpose" minOccurs="0" nillable="true" type="xs:normalizedString">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>Purpose for the assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubAssessmentTaskList" minOccurs="0" nillable="true" type="AssessmentTaskListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>AssessmentTasks which this assessment task is composed of.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="PrerequisiteList" minOccurs="0" nillable="true" type="PrerequisiteListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>References to objects (Course, LearningStandard, AssessmentTask etc.) being prerequisite conditions
         to be met for assessment.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SubjectAreaList" minOccurs="0" nillable="true" type="SubjectAreaListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of the subject areas being assessed.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="AssessedAtYearLevel" minOccurs="0" nillable="true">
        <xs:simpleType>
          <xs:restriction base="xs:int">
            <xs:annotation>
              <xs:appinfo>
                <sifChar>O</sifChar>
                <privacyRating>Low</privacyRating>
              </xs:appinfo>
              <xs:documentation>The year level the Assessment Task pertains to. May only contain the values 1 through to 13 inclusive.</xs:documentation>
            </xs:annotation>
            <xs:minInclusive value="1" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
            <xs:maxInclusive value="13" xmlns:xs="http://www.w3.org/2001/XMLSchema" />
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="LearningStandardList" minOccurs="0" nillable="true" type="LearningStandardListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of references to LearningStandards that will be assessed as part of this AssessmentTask.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="StandardType" minOccurs="0" nillable="true" type="NZCodeSetsLearningStandardTypeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The type of standard the result is for. Applies to secondary level assessments, e.g.
       unit and achievement standards, scholarships and International Baccalaureate.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="SpecialAssessmentConditionExclusionList" minOccurs="0" nillable="true" type="SpecialAssessmentConditionListType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>A list of SACs that are excluded for this particular assessment task.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="Timeframe" minOccurs="0" nillable="true" type="NZCodeSetsAssessmentTimeframeType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The timeframe of the assessment, e.g. Mid-Year, End of Year.</xs:documentation>
        </xs:annotation>
      </xs:element>
      <xs:element name="RecordAudit" minOccurs="0" nillable="true" type="RecordAuditType">
        <xs:annotation>
          <xs:appinfo>
            <sifChar>O</sifChar>
            <privacyRating>Low</privacyRating>
          </xs:appinfo>
          <xs:documentation>The audit details for a record, e.g. Created/Last Updated DateTime and Created/Last Updated By.</xs:documentation>
        </xs:annotation>
      </xs:element>
    </xs:sequence>
  </xs:complexType>

  <xs:element name="AssessmentTask" type="AssessmentTaskType">
    <xs:key name="AssessmentTaskKey1">
      <xs:selector xpath="." />
      <xs:field xpath="./AssessmentTaskRefId" />
    </xs:key>
  </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" />

</xs:schema>