6.7 Grade Book Working Group

The goal of the Grade Book Working Group is an efficient, functional standard that supports the entire SIF structure, allowing for easy, bi-directional transfer of data integral to grading.

Click here for non-normative background/supplementary documentation from this group.

6.7.1 GradingAssignment

This object provides information about a particular assignment, allows applications to synchronize each other's assignment tables, gathers the definition for a GradingAssignmentScore object, etc.

SIF_Events are reported for this object.

GradingAssignment
Figure 6.7.1-1: GradingAssignment GradingAssignment RefId SectionInfoRefId TermInfoRefId SchoolInfoRefId GradingCategoryRefId Description PointsPossible CreateDate DueDate Weight DetailedDescription Type SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 GradingAssignment 

This object provides information about a particular assignment, allows applications to synchronize each other's assignment tables, gathers the definition for a GradingAssignmentScore object, etc.

 
 
@
key
RefIdM

A GUID that identifies GradingAssignment.

 
RefIdType
@SectionInfoRefIdM

The GUID for the SectionInfo object.

 
IdRefType
@TermInfoRefIdM

The GUID for the TermInfo object that defines the marking period that the assignment was created in.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that these Mark Values apply to.

 
IdRefType
@GradingCategoryRefIdM

The GUID for the GradingCategory that this assignment is part of.

 
IdRefType
 DescriptionM

The text-based description of the assignment.

 
xs:string
 PointsPossibleM

The points possible on the assignment.

 
xs:unsignedInt
 CreateDateO

Creation date of the assignment.

 
xs:date
 DueDateO

Date the assignment is due.

 
xs:date
 WeightO

The weight of the assignment.

 
xs:decimal
 DetailedDescriptionO

This element defines the assignment. If the Type attribute is URL, this is the location of the document that describes the assignment. If Type is PDF, this element will contain the Base64 encoding of the entire document.

 
URIOrBinaryType
@TypeM

The type of information that is contained in the DetailedDescription element.

 
values:
URL
PDF
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.1-1: GradingAssignment
Example 6.7.1-1: GradingAssignment

6.7.2 GradingAssignmentScore

This object provides score information about a particular assignment.

SIF_Events are reported for this object.

GradingAssignmentScore
Figure 6.7.2-1: GradingAssignmentScore GradingAssignmentScore StudentPersonalRefId SectionInfoRefId SchoolInfoRefId GradingAssignmentRefId ScorePoints ScorePercent ScoreLetter ScoreDescription SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 GradingAssignmentScore 

This object provides score information about a particular assignment.

 
 
@
key
StudentPersonalRefIdM IdRefType
@SectionInfoRefIdM IdRefType
@SchoolInfoRefIdM

The GUID that specifies the school this score was recorded at.

 
IdRefType
@
key
GradingAssignmentRefIdM IdRefType
 ScorePointsC

The score represented as points. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in.

 
xs:unsignedInt
 ScorePercentC

The score represented as a percent. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in.

 
xs:decimal
 ScoreLetterC

The score represented as a letter grade. Conditionally required that one or more of ScorePoints, ScorePercent or ScoreLetter must be filled in.

 
xs:string
 ScoreDescriptionO

Text description of the score.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.2-1: GradingAssignmentScore
Example 6.7.2-1: GradingAssignmentScore

6.7.3 GradingCategory

This object provides information about a particular grading category to provide grouping and type information for assignments.

SIF_Events are reported for this object.

GradingCategory
Figure 6.7.3-1: GradingCategory GradingCategory RefId SectionInfoRefId TermInfoRefId SchoolInfoRefId Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 GradingCategory 

This object provides information about a particular grading category to provide grouping and type information for assignments.

 
 
@
key
RefIdM

GUID that identifies a grading category.

 
RefIdType
@SectionInfoRefIdM

The GUID for the SectionInfo object that this category is used for grading in.

 
IdRefType
@TermInfoRefIdM

The GUID for the TermInfo object that defines the marking period that the category was created in.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that these Mark Values apply to.

 
IdRefType
 DescriptionM

The name/short description of the category.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.3-1: GradingCategory
Example 6.7.3-1: GradingCategory

6.7.4 MarkInfo

This object defines each mark that can be recorded and associates it with a MarkValueInfo object that lists the types of values and valid values for each type. It also places the definition in the context of a school and a school year.

SIF_Events are reported for this object.

MarkInfo
Figure 6.7.4-1: MarkInfo MarkInfo RefId MarkValueInfoRefId SchoolInfoRefId SchoolYear Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 MarkInfo 

This object defines each mark that can be recorded and associates it with a MarkValueInfo object that lists the types of values and valid values for each type. It also places the definition in the context of a school and a school year.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies this Grading Mark entity.

 
RefIdType
@MarkValueInfoRefIdM

The ID (GUID) that uniquely identifies the MarkValueInfo.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that this Mark applies to.

 
IdRefType
 SchoolYearM

The year that this MarkInfo applies to.

 
SchoolYear
 DescriptionM

Textual description of the type of Mark (e.g. "Marking Period Grade", "Comment 1", "Comment 2", "Conduct", "Effort", "WorkHabits").

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.4-1: MarkInfo
Example 6.7.4-1: MarkInfo
Example 6.7.4-2: MarkInfo

6.7.5 MarkValueInfo

This object defines the types of values allowed for a mark and the domain for each mark value. At least one of the Percentage, Numeric, Letter or Narrative nodes must be used to create a valid MarkValueInfo.

SIF_Events are reported for this object.

MarkValueInfo
Figure 6.7.5-1: MarkValueInfo MarkValueInfo RefId SchoolInfoRefId SchoolYear Name Percentage IsAccepted Minimum Maximum Numeric IsAccepted Precision Scale Low High Letter IsAccepted ValidMark SIF_Action Code NumericEquivalent Description Narrative IsAccepted MaximumSize SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 MarkValueInfo 

This object defines the types of values allowed for a mark and the domain for each mark value. At least one of the Percentage, Numeric, Letter or Narrative nodes must be used to create a valid MarkValueInfo.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies this MarkValueInfo entity.

 
RefIdType
@SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that these Mark Values apply to.

 
IdRefType
 SchoolYearM

The year that this MarkValueInfo applies to.

 
SchoolYear
 NameM

The text name of the value list ("Letter Grades", "Letter Grades (+/-)", "ESU", "Pass/Fail", "Override Grades", "Citizenship Comment Codes", etc.).

 
xs:string
 PercentageM

Indicates whether a percent Mark is accepted (format ##0.00).

 
 
@IsAcceptedM

Indicates whether a percent Mark is accepted and is used in Change events to unambiguously signal whether support for the Mark has changed, especially ended.

 
xs:boolean
 Percentage/MinimumO

The minimum percent value accepted for this mark. If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be lower than this value.

 
xs:decimal
 Percentage/MaximumO

The maximum percent value accepted for this mark. If present, the publisher of this object is required to ensure that any values present in the StudentSectionMarks object will not be higher than this value.

 
xs:decimal
 NumericM

Indicates whether a raw numeric score is accepted.

 
 
@IsAcceptedM

Indicates whether a raw numeric score is accepted and is used in Change events to unambiguously signal whether support for the score has changed, especially ended.

 
xs:boolean
 Numeric/PrecisionO

Number of significant digits.

 
xs:unsignedInt
 Numeric/ScaleO

Number of decimal places.

 
xs:unsignedInt
 Numeric/LowO

Lowest Mark in the range (e.g., 98, 3.95).

 
xs:decimal
 Numeric/HighO

Highest Mark in the range (e.g., 100, 4.0).

 
xs:decimal
 LetterM

Indicates whether a letter Mark is accepted.

 
ActionList (ValidMark/Code)
@IsAcceptedM

Indicates whether a letter Mark is accepted and is used in Change events to unambiguously signal whether support for the Mark has changed, especially ended.

 
xs:boolean
 Letter/ValidMarkCR

List of specific valid letter Marks. May be omitted when IsAccepted is false, otherwise mandatory.

 
 
@SIF_ActionO

In a Change event, this flag can be used to indicate an element has been deleted from the parent list container. At a minimum the key for the list must also be present.

 
values:
Delete
 Letter/ValidMark/CodeM

String representing the actual Mark that would appear on the report card (e.g., "A+", "I", "100").

 
xs:token
 Letter/ValidMark/NumericEquivalent
     
O

Numeric equivalent for the Mark (e.g., 100, 4.0).

 
xs:decimal
 Letter/ValidMark/Description
     
O

The description for this code. (e.g. "Excellent", "Participates in Class", "Incomplete", etc...).

 
xs:string
 NarrativeM

If present, indicates that a free-form text narrative is accepted.

 
 
@IsAcceptedM

Indicates whether a narrative is accepted and is used in Change events to unambiguously signal whether support for a narrative has changed, especially ended.

 
xs:boolean
 Narrative/MaximumSizeO

An integer value representing the maximum number of Unicode characters for the narrative, the UTF-8 encoding of which may be longer.

 
xs:unsignedInt
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.5-1: MarkValueInfo
Example 6.7.5-1: MarkValueInfo
Example 6.7.5-2: MarkValueInfo
Example 6.7.5-3: MarkValueInfo

6.7.6 OfficialStudentPeriodAttendance

This object provides attendance for a student in the context of a SectionInfo object. It is used to represent the final/official attendance that has been assigned to a student. Only one agent in a zone should generate events for this object. That agent is responsible for receiving and validating all StudentPeriodAttendance events and for generating a corresponding OfficialStudentPeriodAttendance event once any unofficial events have been processed.

SIF_Events are reported for this object.

OfficialStudentPeriodAttendance
Figure 6.7.6-1: OfficialStudentPeriodAttendance OfficialStudentPeriodAttendance
 Element/@AttributeCharDescriptionType
 OfficialStudentPeriodAttendance 

This object provides attendance for a student in the context of a SectionInfo object. It is used to represent the final/official attendance that has been assigned to a student. Only one agent in a zone should generate events for this object. That agent is responsible for receiving and validating all StudentPeriodAttendance events and for generating a corresponding OfficialStudentPeriodAttendance event once any unofficial events have been processed.

 
StudentPeriodAttendance
Table 6.7.6-1: OfficialStudentPeriodAttendance
Example 6.7.6-1: OfficialStudentPeriodAttendance

6.7.7 SectionMarkInfo

This object defines the marking periods (TermInfo) that marks (StudentSectionMarks) are recorded in for a particular section (SectionInfo) and lists the types of marks (MarkTypeInfo) that are valid for that marking period (TermInfo).

SIF_Events are reported for this object.

SectionMarkInfo
Figure 6.7.7-1: SectionMarkInfo SectionMarkInfo SectionInfoRefId SchoolInfoRefId TermMarkLists MarkInfoList TermInfoRefId MarkInfoRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SectionMarkInfo 

This object defines the marking periods (TermInfo) that marks (StudentSectionMarks) are recorded in for a particular section (SectionInfo) and lists the types of marks (MarkTypeInfo) that are valid for that marking period (TermInfo).

 
 
@
key
SectionInfoRefIdM

The ID (GUID) that uniquely identifies the SectionInfo object that this item refers to.

 
IdRefType
@
key
SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that these Mark Values apply to.

 
IdRefType
 TermMarkListsM ActionList (MarkInfoList/@TermInfoRefId)
 TermMarkLists/MarkInfoList
     
MR

The grading-related information for a section, repeating for each marking period (TermInfo) in which the section reports Marks.

 
List
@TermInfoRefIdM

The ID (GUID) that identifies the marking period that the following marks are recorded in.

 
IdRefType
 TermMarkLists/MarkInfoList/
     MarkInfoRefId
MR

The ID (GUID) that identifies a mark that this class uses for grading.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.7-1: SectionMarkInfo
Example 6.7.7-1: SectionMarkInfo

6.7.8 StudentPeriodAttendance

This object provides attendance for a student in the context of a SectionInfo object. This object is used by all agents in a zone that provide period attendance, but don't have the logic to determine whether or not they have sufficient rights to override attendance from another user or system. Agents that represent a system that can validate attendance based on, among other things, its source, should subscribe to StudentPeriodAttendance events to collect "suggested" attendance changes from the zone, and should then publish "accepted" attendance changes as OfficialStudentPeriodAttendance events. A rejected change would result in an event that reverts the system that generated the rejected event back to its previous state or to some other state that represents the correct "official" attendance.

SIF_Events are reported for this object.

StudentPeriodAttendance
Figure 6.7.8-1: StudentPeriodAttendance StudentPeriodAttendance RefId StudentPersonalRefId SectionInfoRefId SchoolInfoRefId Date TimetablePeriod TimeIn TimeOut AttendanceCode AttendanceCodeInfoRefId AuditInfo CreationUser Type UserId CreationDateTime AttendanceComment SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentPeriodAttendance 

This object provides attendance for a student in the context of a SectionInfo object. This object is used by all agents in a zone that provide period attendance, but don't have the logic to determine whether or not they have sufficient rights to override attendance from another user or system. Agents that represent a system that can validate attendance based on, among other things, its source, should subscribe to StudentPeriodAttendance events to collect "suggested" attendance changes from the zone, and should then publish "accepted" attendance changes as OfficialStudentPeriodAttendance events. A rejected change would result in an event that reverts the system that generated the rejected event back to its previous state or to some other state that represents the correct "official" attendance.

 
 
@
key
RefIdM RefIdType
@StudentPersonalRefIdM

The GUID of the student that this attendance applies to.

 
IdRefType
@SectionInfoRefIdM

The GUID of the section that this attendance applies to.

 
IdRefType
@SchoolInfoRefIdM

The school where the attendance was recorded. Somewhat redundant, needed for requests.

 
IdRefType
@DateM

The date of the attendance event.

 
xs:date
 TimetablePeriodC

The period within which attendance is being reported, e.g. "4D". Conditional on the SectionInfo object having MeetingTime elements. If one or more are defined for the Section, this element is required.

 
xs:normalizedString
 TimeInO

The time the student entered or returned to this class.

 
xs:time
 TimeOutO

The time the student left this class.

 
xs:time
 AttendanceCodeM

The local attendance code.

 
xs:token
@AttendanceCodeInfoRefIdM IdRefType
 AuditInfoM

An audit trail to help determine who entered this attendance event and when.

 
 
 AuditInfo/CreationUserM

Information about which staff member created this attendance record.

 
 
@TypeM

The role of the staff member for that created this attendance record.

 
values:
Office Staff
School Admin
Parent
Nurse
Teacher
Other
 AuditInfo/CreationUser/UserId
     
M

Unique identifier of the user that created the attendance record. This will depend on the user and the source. The preferred identifier would be a RefId for a StaffPersonal, StudentContact, or StudentPersonal Object. However, the user may not be associated with any of these SIF objects. In that case a unique ID given by the source should be used.

 
xs:normalizedString
 AuditInfo/CreationDateTime
     
M

The date and time of this attendance record was created.

 
xs:dateTime
 AttendanceCommentO

This element contains the comments that are relevant to this attendance record.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.8-1: StudentPeriodAttendance
Example 6.7.8-1: StudentPeriodAttendance

6.7.9 StudentSectionMarks

This object contains the marks entered for a student in a class section for a specific marking period.

SIF_Events are reported for this object.

StudentSectionMarks
Figure 6.7.9-1: StudentSectionMarks StudentSectionMarks StudentPersonalRefId SectionInfoRefId TermInfoRefId SchoolInfoRefId IsFinal MarkList Mark MarkInfoRefId Percentage Numeric Letter Narrative SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentSectionMarks 

This object contains the marks entered for a student in a class section for a specific marking period.

 
 
@
key
StudentPersonalRefIdM

The ID (GUID) that uniquely identifies the StudentPersonal object that this item refers to.

 
IdRefType
@
key
SectionInfoRefIdM

The ID (GUID) that uniquely identifies the SectionInfo object that this item refers to.

 
IdRefType
@
key
TermInfoRefIdM

The ID (GUID) that identifies the marking period that the following marks are recorded in.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the School that these Mark Values apply to.

 
IdRefType
 IsFinalM

Indicates if the grades are "Final" from the perspective of the teacher or school. Does not mean that change events will not occur for this item.

 
xs:boolean
 MarkListM

A list of marks received for this student in this section. For each Mark entry, at least one of the sub-elements must be specified.

 
List
 MarkList/MarkMR

Outer wrapper for marks reported for this section, in this term.

 
 
@MarkInfoRefIdM

The ID (GUID) that identifies a mark that was given for this student.

 
IdRefType
 MarkList/Mark/PercentageC

The percent score for this mark (0.00 - 100.00).

 
xs:decimal
xs:minInclusive0
xs:maxInclusive100
xs:fractionDigits2
 MarkList/Mark/NumericC

The raw numeric score for this mark.

 
xs:decimal
 MarkList/Mark/LetterC

The letter grade for this mark.

 
xs:normalizedString
 MarkList/Mark/NarrativeC

The free form text narrative for this mark.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.9-1: StudentSectionMarks
Example 6.7.9-1: StudentSectionMarks

Valid XHTML 1.0 Transitional