Schools Interoperability Framework™
Implementation Specification 2.3

February 12, 2009






This version:
http://specification.sifinfo.org/Implementation/2.3/
Previous version:
http://specification.sifinfo.org/Implementation/2.2/
Latest version:
http://specification.sifinfo.org/Implementation/
Schemas
SIF_Message (single file, non-annotated) (ZIP archive)
SIF_Message (single file, annotated) (ZIP archive)
SIF_Message (includes, non-annotated) (ZIP archive)
SIF_Message (includes, annotated) (ZIP archive)
DataModel (single file, non-annotated) (ZIP archive)
DataModel (single file, annotated) (ZIP archive)
DataModel (includes, non-annotated) (ZIP archive)
DataModel (includes, annotated) (ZIP archive)

Note: SIF_Message schemas define every data object element as optional per SIF's Publish/Subscribe and SIF Request/Response Models; DataModel schemas maintain the cardinality of all data object elements.

Please refer to the errata for this document, which may include some normative corrections.

This document is also available in these non-normative formats: ZIP archive, PDF (for printing as a single file), Excel spreadsheet.



Copyright ©2009 Schools Interoperability Framework (SIF™) Association. All Rights Reserved.


1 Preamble

1.1 Abstract

1.1.1 What is SIF?

The Schools Interoperability Framework (SIF) is not a product, but a technical blueprint for enabling diverse applications to interact and share data related to entities in the pK-12 instructional and administrative environment. SIF is designed to:

The SIF Implementation Specification defines:

These are known collectively as the SIF Infrastructure. The SIF Implementation Specification also defines the SIF Data Model:

A SIF Zone is a distributed system that consists of a ZIS and one or more software applications with a SIF Agent (a SIF-enabled application) sharing/reporting one or more SIF data objects over a network. A SIF Implementation consists of one or more SIF Zones deployed and configured to meet customer data sharing and reporting needs.

The SIF Implementation Specification defines architecture requirements and communication protocols for software components and the interfaces between them; it makes no assumption of specific hardware or software products needed to develop SIF-enabled applications and Zone Integration Server implementations, other than their ability to support technologies leveraged as the foundation for SIF, most prominently XML and HTTP(S).

1.1.2 Schools Interoperability Framework Association

The Schools Interoperability Framework Association (SIF Association) is an industry initiative to enable interoperability and data sharing between software applications in the pK-12 instructional and administrative environment, and the forum for companies and educators to participate in the development of SIF specifications in the SIF Association's working groups and task forces. The SIF Association is designed to:

1.2 Disclaimer

The information, software, products, and services included in the SIF Implementation Specification may include inaccuracies or typographical errors. Changes are periodically added to the information herein. The SIF Association may make improvements and/or changes in this document at any time without notification. Information contained in this document should not be relied upon for personal, medical, legal, or financial decisions. Appropriate professionals should be consulted for advice tailored to specific situations.

THE SIF ASSOCIATION, ITS PARTICIPANT(S), AND THIRD PARTY CONTENT PROVIDERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, TIMELINESS, AND ACCURACY OF THE INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS CONTAINED IN THIS DOCUMENT FOR ANY PURPOSE. ALL SUCH INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE SIF ASSOCIATION AND/OR ITS PARTICIPANT(S) HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION, SOFTWARE, PRODUCTS, SERVICES, AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE, AND NON-INFRINGEMENT.

IN NO EVENT SHALL THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA, OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OR PERFORMANCE OF THIS DOCUMENT, WITH THE DELAY OR INABILITY TO USE THE DOCUMENT, THE PROVISION OF OR FAILURE TO PROVIDE SERVICES, OR FOR ANY INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS OBTAINED THROUGH THIS DOCUMENT OR OTHERWISE ARISING OUT OF THE USE OF THIS DOCUMENT, WHETHER BASED ON CONTRACT, TORT, STRICT LIABILITY, OR OTHERWISE, EVEN IF THE SIF ASSOCIATION, ITS PARTICIPANT(S), OR THIRD PARTY CONTENT PROVIDERS HAVE BEEN ADVISED OF THE POSSIBILITY OF DAMAGES. BECAUSE SOME STATES/JURISDICTIONS DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU. IF YOU ARE DISSATISFIED WITH ANY PORTION OF THIS DOCUMENT OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THIS DOCUMENT.

This specification is released with the following provisos to developers and educators.

1.3 Certification and Compliance Claims

Though a product may be demonstrated to comply with this specification, no product may be designated as SIF Certified™ by an organization or individual until the product has been tested against and passed established compliance criteria, published separately [SIFCertification]. Organizations and individuals that are currently paying annual membership dues to the SIF Association and dedicating resources to the initiative may also use the designation SIF Participant to describe their involvement with the SIF Association and SIF in marketing, public relations and other materials.

Quick Table of Contents

1 Preamble

2 Introduction

3 Architecture

4 Messaging

5 Infrastructure

6 Data Model


A Common Types

B Code Sets

C External Code Sets

D Notes on Related Technologies

E Wildcard Version Support Implementation Notes

F Selective Message Blocking (SMB) Example

G Background/Supplementary Documentation (non-normative)

H Index of Tables

I Index of Examples

J Index of Figures

K Index of Objects

L Index of Common Elements

M Index of Common Types

N Index of Elements

O Index of Attributes

P References

Full Table of Contents

1 Preamble

1.1 Abstract

1.1.1 What is SIF?

1.1.2 Schools Interoperability Framework Association

1.2 Disclaimer

1.3 Certification and Compliance Claims

2 Introduction

2.1 Specification Organization

2.2 Document Conventions

2.2.1 Definitions

2.2.2 Structure and Values

2.2.3 Examples

2.2.4 References

2.2.5 Terminology

2.2.6 XML Diagrams

2.3 Version Numbers

2.4 Highlighted Additions/Changes Since Version 2.2

2.4.1 Data Model

3 Architecture

3.1 Assumptions

3.1.1 Notes on Related Technologies

3.2 Concepts

3.2.1 Data Model

3.2.2 Zone Architecture

3.2.2.1 Contexts

3.2.3 Infrastructure and Messaging

3.2.4 Data Provision: A Request/Response Model

3.2.5 Event Reporting: A Publish/Subscribe Model

3.2.6 Communication: An Asynchronous Model

3.2.7 Security Model

3.2.7.1 Encryption
3.2.7.2 Authentication and Validation
3.2.7.3 Access Control

3.3 SIF Architecture

3.3.1 Architectural Components

3.3.2 Naming Conventions for Agents and Zone Integration Servers

3.3.3 Object Identifiers

3.3.3.1 Persistence

3.3.4 Agent/Application Requirements

3.3.4.1 Communicate with the ZIS
3.3.4.2 Transmit Application Changes to the ZIS
3.3.4.3 Respond to Requests
3.3.4.4 Changes Required to the Vendor's Application
3.3.4.5 Support Authentication and Digital Signatures
3.3.4.6 Agent Local Queue
3.3.4.7 Wildcard Version Support

3.3.5 Zone Integration Server Requirements

3.3.5.1 Access Control List
3.3.5.2 Zone Status
3.3.5.3 Zone Context Registry
3.3.5.4 Administration
3.3.5.5 Support Selective Message Blocking (SMB) to Resolve Deadlocks
3.3.5.5.1 Description
3.3.5.5.2 Requirements
3.3.5.5.3 Example

3.3.6 Message Processing

3.3.6.1 Message Validation
3.3.6.2 Message Identification
3.3.6.3 Message Security
3.3.6.3.1 SIF_AuthenticationLevel
3.3.6.3.2 SIF_EncryptionLevel
3.3.6.3.3 Notes on SIF_AuthenticationLevel
3.3.6.3.4 Notes on SIF_EncryptionLevel
3.3.6.4 Message Robustness
3.3.6.5 Message Cycle
3.3.6.6 Message Delivery
3.3.6.6.1 The "Push" Model
3.3.6.6.2 The "Pull" Model
3.3.6.6.3 "Multiple Version" Zones

3.3.7 Infrastructure Transport Layer

3.3.7.1 SIF HTTPS Transport
3.3.7.1.1 HTTPS Request/Response Model
3.3.7.1.2 HTTP Request Headers
3.3.7.1.3 HTTP Response Headers
3.3.7.1.4 100 (Continue)
3.3.7.1.5 3XX, 4XX, 5XX Notices
3.3.7.2 SIF HTTP Transport
3.3.7.3 SIF HTTP(S) Transport Compression
3.3.7.4 SIF_Protocol/SIF_Property Accept-Encoding
3.3.7.5 HTTP Client Requirements
3.3.7.6 HTTP Server Requirements
3.3.7.7 Push-Mode Agent Requirements
3.3.7.8 Zone Integration Server Requirements

4 Messaging

4.1 Agent Protocols

4.1.1 Agent Messaging Protocols

4.1.1.1 SIF_Register
4.1.1.2 SIF_Unregister
4.1.1.3 SIF_Provide
4.1.1.4 SIF_Unprovide
4.1.1.5 SIF_Subscribe
4.1.1.6 SIF_Unsubscribe
4.1.1.7 SIF_Provision
4.1.1.8 SIF_Event
4.1.1.9 SIF_Request
4.1.1.10 SIF_Ping
4.1.1.11 SIF_Sleep
4.1.1.12 SIF_Wakeup
4.1.1.13 SIF_GetZoneStatus
4.1.1.14 SIF_GetAgentACL
4.1.1.15 SIF_CancelRequests
4.1.1.16 SIF_GetMessage (Pull-Mode only)
4.1.1.17 SIF_Ack (Push-Mode)
4.1.1.18 SIF_Ack (Pull-Mode)

4.1.2 Agent Message Handling Protocols

4.1.2.1 SIF_Message
4.1.2.2 SIF_Event
4.1.2.3 SIF_Request
4.1.2.4 SIF_Response
4.1.2.5 SIF_Ping (Push-Mode only)
4.1.2.6 SIF_Sleep (Push-Mode only)
4.1.2.7 SIF_Wakeup (Push-Mode only)
4.1.2.8 SIF_CancelRequests (Push-Mode only) (optional)

4.2 ZIS Protocols

4.2.1 ZIS Messaging Protocols

4.2.1.1 SIF_Message Delivery (SIF_Event, SIF_Request, SIF_Response to a Push-mode Agent)
4.2.1.2 SIF_Ping (to a Push-mode Agent)
4.2.1.3 SIF_Sleep (to a Push-mode Agent)
4.2.1.4 SIF_Wakeup (to a Push-mode Agent)
4.2.1.5 SIF_CancelRequests (to a Push-mode Agent)

4.2.2 ZIS Message Handling Protocols

4.2.2.1 SIF_Message
4.2.2.2 SIF_Register
4.2.2.3 SIF_Unregister
4.2.2.4 SIF_Provide
4.2.2.5 SIF_Unprovide
4.2.2.6 SIF_Subscribe
4.2.2.7 SIF_Unsubscribe
4.2.2.8 SIF_Provision
4.2.2.9 SIF_Event
4.2.2.10 SIF_Request
4.2.2.11 SIF_Response
4.2.2.11.1 Implementation Notes
4.2.2.12 SIF_Ping
4.2.2.13 SIF_Sleep
4.2.2.14 SIF_Wakeup
4.2.2.15 SIF_GetZoneStatus
4.2.2.16 SIF_GetAgentACL
4.2.2.17 SIF_CancelRequests
4.2.2.18 SIF_GetMessage
4.2.2.19 SIF_Ack (from a Push-Mode Agent)
4.2.2.20 SIF_Ack (from a Pull-Mode Agent)

5 Infrastructure

5.1 Common Elements

5.1.1 SIF_Message

5.1.2 SIF_Header

5.1.3 SIF_EncryptionLevel

5.1.4 SIF_AuthenticationLevel

5.1.5 SIF_Contexts

5.1.6 SIF_Context

5.1.7 SIF_Protocol

5.1.8 SIF_Status

5.1.9 SIF_Error

5.1.10 SIF_Query

5.1.10.1 SIF_ConditionGroup
5.1.10.2 SIF_Element Syntax

5.1.11 SIF_ExtendedQuery

5.1.11.1 Mapping SIF_Query to SIF_ExtendedQuery

5.1.12 SIF_ExtendedQueryResults

5.2 Messages

5.2.1 SIF_Ack

5.2.2 SIF_Event

5.2.3 SIF_Provide

5.2.4 SIF_Provision

5.2.5 SIF_Register

5.2.6 SIF_Request

5.2.7 SIF_Response

5.2.8 SIF_Subscribe

5.2.9 SIF_SystemControl

5.2.10 SIF_Ping

5.2.11 SIF_Sleep

5.2.12 SIF_Wakeup

5.2.12.1 SIF_Sleep/SIF_Wakeup versus SIF_Register/SIF_Unregister

5.2.13 SIF_GetMessage

5.2.14 SIF_GetZoneStatus

5.2.15 SIF_GetAgentACL

5.2.16 SIF_CancelRequests

5.2.17 SIF_Unprovide

5.2.18 SIF_Unregister

5.2.19 SIF_Unsubscribe

5.3 Objects

5.3.1 SIF_ZoneStatus

5.3.2 SIF_AgentACL

6 Data Model

6.1 Introduction

6.1.1 Format

6.1.2 Conventions

6.1.2.1 Object Attributes/Primary Keys
6.1.2.2 Object References
6.1.2.3 Lists/Repeatable Elements
6.1.2.3.1 ActionList
6.1.2.3.2 List
6.1.2.4 Supported Optional Elements Without Values
6.1.2.5 Externally-Defined XML

6.2 Common Elements

6.2.1 Address

6.2.2 AddressList

6.2.3 BirthDate

6.2.4 CongressionalDistrict

6.2.5 ContactInfo

6.2.6 Country

6.2.7 CourseCode

6.2.8 CourseCredits

6.2.9 CourseTitle

6.2.10 Demographics

6.2.11 DistrictCourseCode

6.2.12 EarnedStatus

6.2.13 EconomicDisadvantage

6.2.14 EducationalLevel

6.2.15 ElectronicId

6.2.16 ElectronicIdList

6.2.17 ELL

6.2.18 Email

6.2.19 EmailList

6.2.20 EnglishProficiency

6.2.21 EntryDate

6.2.22 ExceptionalityCategories

6.2.23 ExitDate

6.2.24 FirstName

6.2.25 Gender

6.2.26 GiftedTalented

6.2.27 GradeLevel

6.2.28 GradeLevels

6.2.29 GraduationDate

6.2.30 GraduationRequirement

6.2.31 GridLocation

6.2.32 HispanicLatino

6.2.33 Homeless

6.2.34 HomeroomNumber

6.2.35 IDEA

6.2.36 IdentificationInfo

6.2.37 IdentificationInfoList

6.2.38 Immigrant

6.2.39 InstructionalLevel

6.2.40 LanguageList

6.2.41 LastName

6.2.42 LEAName

6.2.43 LocalId

6.2.44 Location

6.2.45 MealStatus

6.2.46 MealType

6.2.47 MeetingTime

6.2.48 MiddleName

6.2.49 Migrant

6.2.50 Name

6.2.51 NCESId

6.2.52 NeglectedDelinquent

6.2.53 OnTimeGraduationYear

6.2.54 OperationalStatus

6.2.55 OtherCodeList

6.2.56 OtherId

6.2.57 OtherNames

6.2.58 PhoneNumber

6.2.59 PhoneNumberList

6.2.60 PlannedAssessmentParticipation

6.2.61 PrimaryAssignment

6.2.62 Program

6.2.63 ProgramStatus

6.2.64 ProgramType

6.2.65 ProjectedGraduationYear

6.2.66 PublishInDirectory

6.2.67 RaceList

6.2.68 Relationship

6.2.69 SCEDCode

6.2.70 SchoolContactList

6.2.71 SchoolName

6.2.72 SchoolURL

6.2.73 SchoolYear

6.2.74 Section504

6.2.75 SIF_ExtendedElements

6.2.76 SSN

6.2.77 StateCourseCode

6.2.78 StateProvince

6.2.79 StateProvinceId

6.2.80 SubjectArea

6.2.81 SubjectAreaList

6.2.82 TermSpan

6.2.83 Title1

6.2.84 VocationalConcentrator

6.3 Assessment Working Group

6.3.1 Assessment

6.3.2 AssessmentAdministration

6.3.3 AssessmentForm

6.3.4 AssessmentItem

6.3.5 AssessmentPackage

6.3.6 AssessmentRegistration

6.3.7 AssessmentSubTest

6.3.8 ItemCharacteristics

6.3.9 StudentResponseSet

6.3.10 StudentScoreSet

6.4 Data Model Task Force

6.4.1 SIF_Metadata

6.4.2 TimeElement

6.4.3 LifeCycle

6.4.4 RightsElement

6.4.5 EducationFilter

6.4.6 SEAInfo

6.4.7 StudentLEARelationship

6.5 Data Warehouse Working Group

6.5.1 AggregateStatisticInfo

6.5.2 AggregateCharacteristicInfo

6.5.3 AggregateStatisticFact

6.6 Food Services Working Group

6.6.1 FoodserviceItem

6.6.2 FoodserviceItemPortion

6.6.3 FoodserviceItemSales

6.6.4 FoodserviceItemUnit

6.6.5 FoodserviceMealPrices

6.6.6 FoodserviceMenuPlan

6.6.7 FoodserviceMilkSales

6.6.8 FoodservicePurchaseTransaction

6.6.9 FoodserviceReimbursementRates

6.6.10 FoodserviceSales

6.6.11 FoodserviceStaffEnrollmentCount

6.6.12 FoodserviceStaffMealCounts

6.6.13 FoodserviceStudentEnrollmentCount

6.6.14 FoodserviceStudentMealCounts

6.6.15 FoodserviceTransaction

6.6.16 FoodserviceTransactionDetails

6.6.17 FoodserviceTransactionPayMethod

6.6.18 StaffMeal

6.6.19 StudentMeal

6.7 Grade Book Working Group

6.7.1 GradingAssignment

6.7.2 GradingAssignmentScore

6.7.3 GradingCategory

6.7.4 MarkInfo

6.7.5 MarkValueInfo

6.7.6 OfficialStudentPeriodAttendance

6.7.7 SectionMarkInfo

6.7.8 StudentGrade

6.7.9 StudentPeriodAttendance

6.7.10 StudentSectionMarks

6.8 Human Resources & Financials Working Group

6.8.1 AccountingPeriod

6.8.2 Billing

6.8.3 EmployeeAssignment

6.8.4 EmployeeContract

6.8.5 EmployeePersonal

6.8.6 EmployeePicture

6.8.7 EmployeeWage

6.8.8 EmploymentRecord

6.8.9 FinancialAccount

6.8.10 FinancialAccountAccountingPeriodLocationInfo

6.8.11 FinancialAnnual

6.8.12 FinancialBudget

6.8.13 FinancialClass

6.8.14 FinancialIncomeStatement

6.8.15 FinancialTransaction

6.8.16 FiscalYear

6.8.17 LocationInfo

6.8.18 Payment

6.8.19 Purchasing

6.8.20 TimeWorked

6.8.21 VendorInfo

6.8.22 W4

6.9 Infrastructure Working Group

6.9.1 Authentication

6.9.1.1 Password Implementation Details
6.9.1.1.1 Encoded Text
6.9.1.1.2 Hashed Text
6.9.1.1.3 Encrypted Text
6.9.1.1.3.1 Example Keys

6.9.2 SIF_LogEntry

6.10 Instructional Services Task Force

6.10.1 Activity

6.10.2 Assignment

6.10.3 CurriculumStructure

6.10.4 LearningResource

6.10.5 LearningResourcePackage

6.10.6 LearningStandardDocument

6.10.7 LearningStandardItem

6.10.8 Lesson

6.11 Library Automation Working Group

6.11.1 LibraryPatronStatus

6.12 Professional Development Working Group

6.12.1 ActivityProvider

6.12.2 EmployeeCredential

6.12.3 EmployeeCredit

6.12.4 EmployeeRecertification

6.12.5 ProfessionalDevelopmentActivities

6.12.6 ProfessionalDevelopmentProgram

6.12.7 ProfessionalDevelopmentRegistration

6.13 Special Programs Working Group

6.13.1 StudentParticipation

6.13.2 StudentPlacement

6.13.3 TestAccommodation

6.14 Student Information Systems Working Group

6.14.1 AttendanceCodeInfo

6.14.2 CalendarDate

6.14.3 CalendarSummary

6.14.4 DisciplineIncident

6.14.5 LEAInfo

6.14.6 RoomInfo

6.14.7 RoomType

6.14.8 SchoolCourseInfo

6.14.9 SchoolInfo

6.14.10 SectionInfo

6.14.11 StaffAssignment

6.14.12 StaffPersonal

6.14.13 StudentActivityInfo

6.14.14 StudentActivityParticipation

6.14.15 StudentAttendanceSummary

6.14.16 StudentContact

6.14.17 StudentDailyAttendance

6.14.18 StudentPersonal

6.14.19 StudentPicture

6.14.20 StudentSchoolEnrollment

6.14.21 StudentSectionEnrollment

6.14.22 StudentSnapshot

6.14.23 TermInfo

6.15 Student Record Exchange Task Force

6.15.1 StudentRecordExchange

6.15.2 StudentDemographicRecord

6.15.3 StudentAcademicRecord

6.15.4 StudentSpecialEducationRecord

6.15.5 StudentRecordPackage

6.16 Transportation and Geographic Information Working Group

6.16.1 BusEquipment

6.16.2 BusInfo

6.16.3 BusPositionInfo

6.16.4 BusRouteDetail

6.16.5 BusRouteInfo

6.16.6 BusStopInfo

6.16.7 StudentTransportInfo

6.17 Vertical Reporting Task Force

6.17.1 ReportAuthorityInfo

6.17.2 ReportManifest

6.17.3 SIF_ReportObject

6.17.4 StudentLocator


A Common Types

A.1 AbstractContentElementType

A.2 AbstractContentPackageType

A.3 BaseNameType

A.4 DefinedProtocolsType

A.5 ExtendedContentType

A.6 FSAmountType

A.7 FSCountType

A.8 GUIDType

A.9 IdRefType

A.10 MonetaryAmountType

A.11 MsgIdType

A.12 NameOfRecordType

A.13 ObjectNameType

A.14 OrganizationRelationshipType

A.15 OtherNameType

A.16 PartialDateType

A.17 RefIdType

A.18 ReportDataObjectType

A.19 ReportPackageType

A.20 SelectedContentType

A.21 SIF_EventObjectType

A.22 SIF_ExampleObjectType

A.23 SIF_ProvideObjectNamesType

A.24 SIF_RequestObjectNamesType

A.25 SIF_ResponseObjectsType

A.26 SIF_ResponseObjectType

A.27 SIF_SubscribeObjectNamesType

A.28 URIOrBinaryType

A.29 VersionType

A.30 VersionWithWildcardsType

B Code Sets

Infrastructure

Status Code

Error Category

XML Validation Error

Encryption Error

Authentication Error

Access and Permission Error

Registration Error

Provision Error

Subscription Error

Request and Response Error

Event Reporting and Processing Error

Transport Error

System Error

Generic Message Handling Error

SMB Error

LearningStandardItem

Relationship Types

SIF_LogEntry

Agent Error Condition

Data Issues with Failure Result

Data Issues with Success Result

Success Category

ZIS Error Condition

StudentPlacement

Other Services

Other Types of Transportation

Title I Services

TestAccommodation

Scheduling

Setting

Student Equipment and Technology

Test Administration

Test Material

Test Response

C External Code Sets

Canada Post

Provinces and Territories

International Standards Organization (ISO)

3166-1 English Country Names and Code Elements

3166-3 Code for Formerly Used Names of Countries

4217 Currency names and code elements

National Center For Education Statistics (NCES)—NCES Handbooks Online

0024 Activity Type

0025 Address Type

0031 School Level

0032 Agency Status

0056 Assessment Reporting Method

0067 Assessment Type

0084 Calendar Event

0106 Course Instructional Level

0108 Credit Type Earned

0147 Identification System

0171 Receiving Location of Instruction/Service

0209 Medium of Instruction

0211 Program Availability

0222 Program Funding Source

0229 Program Type

0256 School Status

0266 Session Type

0273 Student Support Service Type

0274 Student/Family Program Type

0280 Telephone Number Type

0289 Transitional Support Service Type

0307 Service Setting

0315 Birthdate Verification

0322 Citizenship Status

0327 Language Type

0330 Marital Status

0332 Highest Level of Education Completed

0373 Postsecondary Subject Matter Area

0394 Teaching Credential Type

0395 Teaching Credential Basis

0401 Background Check Type

0421 Teaching Field or Area Authorized

0434 Employment Separation Reason

0436 Teaching Assignment

0437 Instructional Level

0468 Contractual Term

0476 Full-time Status

0557 Job Classification

0568 Function Type

0585 English Proficiency

0598 Public School Residence Status

0599 Non-Resident Attendance Rationale

0600 Dwelling Arrangement

0609 Relationship to Student

0613 Employment Status

0614 Employer Type

0619 Entry Type

0643 Exit/Withdrawal Status

0644 Exit/Withdrawal Type

0672 Promotion Type

0673 Nonpromotion Reason

0674 Honors Type

0679 Activity Involvement Code

0684 Diploma/Credential Level and Honors

0719 Transportation Status

0720 State Transportation Aid Qualification

0721 Transportation at Public Expense Eligibility

0768 Primary Disability Type

0792 Identification Procedure

0798 Early Childhood Program Setting

0804 Early Childhood Special Education Setting

0806 Individualized Program Type

0815 Program Exit Reason

0849 Race

1040 Incident Location

1043 Reporter Description

1045 Weapon Type

1046 Incident Injury

1048 Secondary Incident Behavior

1049 Incident Code

1050 Perpetrator Description

1052 Victim Description

1054 Disciplinary Action

1151 Agency Type

National Information Standards Organization (NISO)

Z39.53 Language Codes

Performance-Based Data Management Initiative (PBDMI)

Homeless Educational Support Services and Activities/Type of Services Received

LEP Program/Type of Services Received

Migrant Students Served/Migrant Service Type

Students in Neglected or Delinquent Programs/Neglected or Delinquent Services Received

Safety in Numbers: Collecting and Using Crime, Violence and Discipline Data to Make a Difference in Schools

Time

SCED

Course Titles

Non-secondary Courses

Secondary Courses

United States Department of Agriculture (USDA)

Food Category Name File

United States Postal Service

Abbreviations

D Notes on Related Technologies

D.1 SIF and HTTP(S)

D.2 SIF and URLs

D.3 SIF and XML

D.4 SIF and Unicode

D.5 SIF and XPath

D.6 SIF and XML Schema

D.6.1 xs:boolean

D.6.2 xs:time

D.6.3 xs:date

D.6.4 xs:dateTime

D.7 SIF and XML Namespaces

D.8 SIF and UUIDs/GUIDs

D.9 SIF and Web Services

E Wildcard Version Support Implementation Notes

E.1 XML Parsing

E.2 XML Validation

E.3 SIF_Message Handling

F Selective Message Blocking (SMB) Example

F.1 Example

G Background/Supplementary Documentation (non-normative)

H Index of Tables

I Index of Examples

J Index of Figures

K Index of Objects

L Index of Common Elements

M Index of Common Types

N Index of Elements

O Index of Attributes

P References

2 Introduction

2.1 Specification Organization

Beyond the abstract and this introduction, educators and non-technical readers are typically interested in the pK-12 data objects that can be shared and reported on by SIF-enabled applications in SIF implementations. These are presented in the Data Model section in a format that should not be a barrier to readers with a background that includes a brief introduction to [XML], though they may benefit from the introductory sections of Architecture. Technical readers, including software architects, developers and integrators, should have a solid background in Architecture, Messaging, Infrastructure and Data Model.

2.2 Document Conventions

2.2.1 Definitions

The first time a term or concept is defined, it may be emphasized.

2.2.2 Structure and Values

SIF message and object names, XML element tags, attribute names and values, and other codes or values are typically presented as in this sentence.

2.2.3 Examples

Longer examples of XML or HTTP messages are typically numbered and presented as given here.
Example 2.2.3-1: Examples Convention

2.2.4 References

References to other works occuring in this text are given in brackets, e.g. [REFERENCE]. The text in brackets corresponds to a key in the References appendix. Often when the text in the brackets duplicates surrounding text, the reference alone is used (e.g. [XML] instead of XML [XML]).

2.2.5 Terminology

The key words MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, OPTIONAL, when EMPHASIZED, are to be interpreted as described in [RFC 2119].

2.2.6 XML Diagrams

Quick overviews of XML structures, including messages, objects, common elements and types, are provided in XML diagrams. The following diagram illustrates the conventions typically encountered in SIF.

Figure 2.2.6-1: XML Diagram Conventions

XML elements are represented by rectangles with the name of the element in the upper portion and the type, if any, in the lower portion. Attributes are represented in the same fashion, but have an @ icon rather than a SIF icon. Elements and attributes that are optional have a circled ? (0 or 1 occurrence) to the left of the rectangle. Optional and mandatory repeatable elements are indicated by a circled * (0 or more occurrences) and + (1 or more occurrences), respectively. Element attributes are grouped together in a rectangular block and connected to the element with a line that turns at right angles. Ordered sequences of XML elements are bracketed by lines that turn at right angles. When a choice of XML elements is indicated, the elements are bracketed by angled lines. A choice of elements can occur within an element, or may be an unnamed choice of elements.

XML types are represented using the same conventions as for XML elements, though the type portion of the rectangle typically indicates a base type, if any.

The type name of any element, attribute or type may be prefixed with a , indicating the type is restricted in some fashion by one or more XML Schema facets (e.g. enumeration). When the type is a union of types, a list of types is presented, each type separated by |; if the list of union types is long, the list may be ellipted with | ...

In an actual XML diagram, element, type and attribute rectangles are usually linked to their corresponding definitions/descriptions in accompanying tables.

2.3 Version Numbers

The SIF Implementation Specification uses the following version numbering scheme:

major version.minor versionrrevision number

Major versions typically introduce additions/changes to the SIF infrastructure and/or data model changes that impact a significant percentage of SIF-enabled applications (e.g. making previously optional elements mandatory, removal of deprecated objects, elements or values). The first release of a major version has a minor version of 0 (2.0); major version numbers start at 1 and are incremented as major versions are released (1.0, 2.0, 3.0, ...).

Minor releases typically introduce new data objects, or optional additions to data objects, to the marketplace, and may include minor infrastructure additions/changes that do not impact existing SIF-enabled applications and that ZIS vendors have agreed to implement. The first minor version released subsequent to and within a major release has a minor version of 1 and is incremented as new minor versions are released (2.1, 2.2, ...). If a significant number of minor release features is introduced in a specification, the SIF Association may decide to increment the minor version number by more than 1 (e.g. 1.1 to 1.5), though a number like 1.5 is not an indication of being halfway to a major release, as minor version numbers may be incremented significantly past 10 (2.10, 2.11, ...) as data objects and other minor version features are released.

Corrections resulting from identified errata, as well as textual changes, may be incorporated into a revision release. These typically include minor corrections to messages or data objects, corrections of typographical errors, or corrected/expanded documentation. If major errors in any release are identified, a revision release may incorporate changes more typical of a major or minor release. First major and minor releases have a revision number of 0, which is omitted from the version number (2.0, not 2.0r0); subsequent revision numbers start at 1 and are incremented as new revisions are released (2.0r1, 2.0r2, ...).

2.4 Highlighted Additions/Changes Since Version 2.2

2.4.1 Data Model

3 Architecture

3.1 Assumptions

The following assumptions are made of non-technical readers of this specification, especially end users undertaking SIF implementations:

They should also be aware that there are numerous third-party products and services available to aid in SIF implementation and integration.

Technical readers implementing SIF software and software solutions, particularly those implementing SIF Agents and Zone Integration Servers from scratch as opposed to using or building upon third-party products and services, should have an understanding of:

It is furthermore assumed that implementers have at their disposal or can implement:

3.1.1 Notes on Related Technologies

Implementers are referred to Notes on Related Technologies, which highlights technologies leveraged within SIF or related to SIF, either in their entirety or as a subset. This partially normative appendix points out specifics casual readers of referenced documents on these technologies must not ignore when implementing SIF Zone Integration Servers and Agents.

3.2 Concepts

This section presents the ideas behind the implementation of SIF, including the application and data models on which it is based. It serves as a precursor to further descriptions in following sections.

3.2.1 Data Model

The data that can be exchanged in SIF is defined using a series of data objects. These objects are expressed using [XML] and are defined structurally by this document and associated schemas, with this document and supporting documentation defining the semantics behind the exchange of individual data objects. StudentPersonal, StudentSchoolEnrollment and StaffPersonal are three of the many predefined data objects.

3.2.2 Zone Architecture

Although there are many variations of SIF topographies, the common feature is that a number of applications wish to share data. All SIF implementations, regardless of their complexity, consist of one or more applications with their associated agents communicating via a Zone Integration Server (ZIS).

One typical use of SIF is to connect products from various vendors together within a single school. These applications could include a student information application, a food service program, and a library automation application. Each of these applications has a vendor-provided interface program called an Agent.

Since the same school shares these applications, it makes sense to group them together into a logical entity. This entity is referred to as a Zone and is managed by a Zone Integration Server (ZIS).

There are no predefined sizes for zones, so a zone can be as large or small as required in order to meet the needs of the customer.

An application relies on its agent to exchange data using a predefined data model. Agents then communicate with other agents using the ZIS as a routing resource. The ZIS also provides access control so the customer can control which applications have access to which SIF data.

3.2.2.1 Contexts

The Zone is the primary means of partitioning data, applications, and policies. Zones are typically organized around geographic boundaries (e.g. school, district, region, state) or functional boundaries (e.g. horizontal integration, student locator services, data warehousing and reporting services). A SIF Context offers the ability to further partition the data within a Zone, to offer different perspectives of the data based on customer needs and application abilities. For example, while a student information system typically serves as the source for student-related data in the default context of a zone that integrates applications in a school or district, a data warehouse might better be suited to provide a historical or longitudinal perspective of that exact same student data in a different context, a context more suited to the reporting and data warehousing needs of an implementation. Contexts enable customers and system integrators to work with data in new ways while retaining the zone topologies commonly in use in implementations.

In addition to offering different perspectives on a zone's data, contexts allow two or more agents to register as a provider of the same object type within a zone. This may lead to future solutions built around contexts; for example, to better define how systems that publish similar objects cooperate in the same zone (e.g. student information systems and special education packages). Contexts also make it easier to apply a different set of business rules to different audiences. Unlike zones, which can be named and assembled in a variety of ways at the discretion of system integrators, contexts are to be treated as a part of the specification. The SIF Association sanctions contexts and provides documentation that defines each context's purpose and any associated message choreographies and business rules for it. Contexts defined by the SIF Association have context names that begin with SIF_ and the default context for a zone is named SIF_Default. It is RECOMMENDED that all ZIS implementations support the SIF Association-defined contexts as they are introduced; support for user-defined contexts is strictly implementation dependent, and agents are discouraged from relying on ad hoc or user-defined contexts.

3.2.3 Infrastructure and Messaging

Agents share data in a Zone via two models, the Publish/Subscribe model and the Request/Response model. Agents publish data changes of interest to subscribers by sending a SIF_Event message to the ZIS. Agents can also request or query data from other agents in a Zone by sending a SIF_Request message to an Agent, eventually being sent one or more SIF_Response messages in return. This exchange of messages over a SIF-defined transport layer, SIF HTTPS or SIF HTTP, is the primary feature that defines the SIF Infrastructure. Every message exchanged over this infrastructure is wrapped inside a SIF_Message and contains a SIF_Header element that specifies the source of the message and optional security, destination and context information. In addition to the messages exchanged between Agents via the ZIS, the SIF Infrastructure defines a number of messages that are exchanged between Agent and ZIS, and between ZIS and Push-mode Agent—these serve primarily to register various Agent settings at the ZIS and to support the exchange of messages between Agents.

3.2.4 Data Provision: A Request/Response Model

When an application (the Requester) wants to gather data from a specific data object, a SIF_Request message is sent to ZIS. The application may direct this request to a given Responder by specifying an Agent ID in the SIF_DestinationId element of SIF_Header. In most cases, however, the SIF_DestinationId element is omitted in which case the ZIS routes the request to the default responder, or Provider, for the data object of interest. Agents register as Providers with the ZIS using either the SIF_Provision or SIF_Provide message.

There is a single Provider per object per context per zone. There may be multiple Responders for a given object in a zone context.

In order to maintain control over what data is exchanged over the zone and who exchanges it, the ZIS must provide an access control system that limits who can provide, request, and respond to requests for which data objects. The access control system must maintain policies for each registered application.

If the requester knows or wants to control who the responder will be, it must place the responder's agent identifier in the SIF_DestinationId element of the header of the SIF_Request message. The ZIS will examine the SIF_Request message's header. If a SIF_DestinationId element is present, the ZIS must route the SIF_Request to the specified agent/application subject to the limitations imposed by the access control security policies for the zone. For instance, even though an application specifies that it wishes a specified application to respond, the zone security policy may prohibit the specified application from generating SIF_Response messages.

An application that wants to provide access to the data it contains via SIF may function as a responder. Such applications will support one or more SIF data objects. The application listens for SIF_Request messages for the objects that it supports. When it receives a SIF_Request for a supported object, the application will generate one or more SIF_Response messages containing the application's data, which will be routed by the ZIS to the requester. The responder must place the requester's agent identifier in the SIF_DestinationId element of the header for each SIF_Response message generated.

When an application receives a SIF_Request for a data object that it does not support, it must return a SIF_Response message with the SIF_Error element populated to indicate the nature of the error (invalid object), a SIF_PacketNumber of 1 and the SIF_MorePackets element set to indicate that no further packets will be sent in response to the SIF_Request.

3.2.5 Event Reporting: A Publish/Subscribe Model

Applications propagate data updates by publishing SIF_Event messages for the SIF data objects that are being added, changed, or deleted. In order for an application to receive these SIF_Events, subscriptions for the SIF data objects of interest must be entered at the ZIS. This subscription process is performed when an application sends a SIF_Provision message or one or more SIF_Subscribe messages to the ZIS. Once the subscriptions are entered, any SIF_Events for those objects received by the ZIS will be routed to the list of subscribers for those objects.

Once an application successfully sends a SIF_Event to the ZIS, the ZIS is responsible for delivering that SIF_Event to the subscribing parties without any further communication to the SIF_Event originator. The SIF_Event originator does not know how many applications, if any, receive the SIF_Event. No notifications are provided to the originator to indicate whether a SIF_Event was delivered to a subscriber or not.

The ZIS must maintain an access control system that limits who can publish and subscribe to events for which data objects.

Before an application can utilize the services of the ZIS, the application must register itself by sending a SIF_Register message to the ZIS. Once registered, an application does not have to perform any additional registration with the ZIS in order to be a publisher of SIF_Event data. Any application that has registered itself with the ZIS may publish SIF_Events subject to the limitations imposed by the access control security policies for the zone. It is recommended that event publishers register their ability to publish events by using the SIF_Provision message.

Multiple applications may publish SIF_Event messages for a given data object.

The application that is registered as the Provider for a given data object must be able to subscribe to SIF_Events for that object but the application is not required to subscribe to SIF_Events in a given SIF implementation.

An application that has subscribed to a SIF_Event must attempt to process the SIF_Event according to the business rules of the application. If the SIF_Event contains insufficient information or information that is inconsistent with the application's business rules, the application may ignore the message.

If an application publishes a SIF_Event as a result of changing the data within the application and the ZIS rejects the SIF_Event message, it is recommended that the application rolls back or cancels the changes that were made, but the application does not have to roll back the changes. For example, an application may attempt to add a new student and publish a SIF_Event to reflect the addition. If the application does not have permission to publish SIF_Event messages for that type of object, the SIF_Event is rejected. The application does not have to remove the newly added student from its local database.

3.2.6 Communication: An Asynchronous Model

In order to ensure scalability and reliability, SIF requires that its request/response and publish/subscribe models be asynchronous in nature. Once a ZIS synchronously acknowledges receipt of a SIF_Event, SIF_Request or SIF_Response with the return of a successful SIF_Ack, an agent cannot be assured that these messages will immediately be delivered to subscribers, providers/responders or requesters, respectively, or that it will receive an immediate SIF_Response to any submitted SIF_Request.

The asynchronous communication model can be likened to communicating with someone via e-mail or through the postal office: an individual sends the message, but does not know when it will be received, much less when the receiver will respond.

By requiring asynchronous communications, a SIF implementation can exploit software designs that achieve high scalability and reliability. For example, even if an agent is not currently connected to a Zone, another application's agent can still send messages to that agent knowing that the ZIS will deliver those messages as soon as the agent is available.

In contrast to the asynchronous communication model, most agent-to-ZIS and ZIS-to-agent communication—over currently defined transport layers—is synchronous in nature. Any time an agent sends a SIF_Message to a ZIS, the agent waits for a SIF_Ack to be returned from the ZIS to acknowledge receipt of the message. Once acknowledged, the ZIS guarantees future delivery of SIF_Event, SIF_Request and SIF_Response messages, barring certain error conditions. For messages not directly related to the request/response and publish/subscribe models, the acknowledgement from the ZIS also indicates successful completion of operations related to registration, subscription, provision and system control operations. Relatedly, when a ZIS contacts an agent in Push mode, the ZIS waits for a SIF_Ack to be returned from the agent to acknowledge successful delivery of the message currently pending for the agent.

3.2.7 Security Model

The security model of SIF centers around three areas: encryption, authentication and access control. SIF provides application agents the ability to specify the encryption and authentication requirements for all other agents that eventually come into contact with their sensitive data. Various communication protocols over which SIF data may be transferred, including SIF HTTPS, provide built-in support for easing the implementation details of guaranteeing encryption and authentication requirements. In addition, access control at the ZIS allows a zone administrator complete control over which agents are allowed to communicate which data to other agents.

As SIF HTTPS is the default communication protocol that all agents and ZIS implementations must support, many of the encryption and authentication levels specified in this document are tailored to the encryption and authentication algorithms currently defined within SIF HTTPS. When a ZIS implementation supports other communication protocols, the ZIS must guarantee that these levels are accurately reflected and adhered to when communicating with agents that support these same protocols.

3.2.7.1 Encryption

Encryption provides the mechanism to ensure that only the sender and receiver of a message can view the message contents. In a totally secure model, all communications between agent and ZIS will be encrypted. The SIF HTTPS protocol, which must be supported by all agents and ZIS implementations, is a secure transport and provides encryption of the data being exchanged.

If additional communication protocols, or transports, are used, it is important to know if these transports are secure to avoid exposing sensitive data. SIF provides a method for an agent to specify to the ZIS how secure the channel between the ZIS and other agents must be when ultimately delivering the originating agent's sensitive data. ZIS implementations must guarantee the requested security levels when communicating with recipient agents, regardless of which transport is in use. If a ZIS is unable to ensure these security levels when communicating with a recipient agent, the ZIS must not transport the message across the insufficiently secure channel. It is recommended that the ZIS log the inability to deliver the message to the recipient agent due to security requirements.

The responsibility for guaranteeing the security of data that an originating agent transfers to the ZIS lies ultimately with the originating agent, or zone administrators. For example, if the originating agent requires a very secure channel for a given message, it should not intentionally or inadvertently communicate that message to the ZIS over an insecure or insufficiently secure channel, should the ZIS support such channels. At that point, the data has already been communicated insecurely. Zone administrators can prevent such occurrences by configuring the ZIS and agents within the zone such that a minimum security level is maintained, below which communication is impossible.

In many cases, the establishment of a secure channel and encryption can be delegated to the transport layer.

3.2.7.2 Authentication and Validation

The role of authentication is to provide a means to ensure that the author of a message is the actual author. Authentication guards against a situation where a foreign agent claims to be a legitimate zone participant and fakes a message to gain access or alter the SIF data.

Another important role of authentication is to provide the ability to detect that each message that passes through the Zone arrives at its destination unaltered by other intermediaries.

Authentication support is optional but highly recommended.

3.2.7.3 Access Control

SIF must be customizable for specific deployments. This particularly applies to customization for the security policies. For example, a SIF administrator can specify which applications can participate in the SIF deployment, which data objects each application can provide or request, and what events each application can produce and receive.

The access control requirements are discussed more fully under ZIS Requirements.

3.3 SIF Architecture

This section describes the architecture and components that make up SIF. It presents high-level functional requirements for each component and interfaces between them. More detail on particular requirements and interfaces may be found in Messaging and Infrastructure.

3.3.1 Architectural Components

A SIF Zone is a distributed networking system that consists of a Zone Integration Server (ZIS) and one or more integration Agents. The size of a zone is flexible and could consist of a single building, school, a small group of schools, a district, a region, a state, a nation, etc. SIF is a scalable solution for data exchange. A SIF Implementation consists of one or more SIF Zones deployed and configured to meet customer data sharing and reporting needs.

A Zone Integration Server is a program that provides integration services to all the agents registered with it so that they can provide data, subscribe to events, publish events, request data, and respond to requests. It is responsible for all access control and routing within the Zone.

Each application requires an agent, which typically is provided by the application vendor, to communicate with other applications via the ZIS and their respective agents. For example, a school may use a student information application, a food service application, and a library automation application. Each of these applications must have an agent that acts as a go-between between the application and the Zone Integration Server.

In SIF, an agent never communicates with another agent directly. Instead, each agent communicates with the ZIS as a trusted intermediary that brokers the exchange of data with other agents. Having the ZIS manage routing responsibilities allows complex communications to occur between agents that have no direct information about each other and that may or may not be available for communication at any given point in time.

The following diagram illustrates a typical single-zone SIF implementation for a school.

Figure 3.3.1-1: Single-Zone School SIF Implementation

A zone is often defined according to physical boundaries; for example, a zone can consist of all the applications that are connected over a private network and managed by one organization, such as a school. Security, scalability, and manageability requirements can also influence the decision of how zones are designed and configured.

Zones are a flexible and powerfully creative tool for meeting the data exchange and reporting needs of users; zones can be as varied as the customers in the education marketplace. While a single school zone may meet the needs of a single school, SIF implementations can scale to meet the needs of specific end users through the use of multiple zones, sometimes managed by different ZIS implementations. Two examples of many multiple-zone implementation design patterns are included here for illustration.

In the first, the data exchange needs of a district are met through the use of four zones, one for the district, and three for schools within the district: elementary, middle and high school. Here a student information system provides its complete set of district-wide data to a district zone, while providing school-based views of and access to that data in the individual school zones. Library systems in this implementation are school-based, while the food services system, like the SIS, is district-based.

Figure 3.3.1-2: Multiple-Zone District SIF Implementation

The second example illustrates an agent communicating in both a district and a state zone. This agent could be associated with many different types of applications, including a SIS or data warehouse, reporting date up to the state, or an application that supports StudentLocator, managing state-level student identifiers, and so on.

Figure 3.3.1-3: Multiple-Zone State SIF Implementation

Multiply the district portion of this diagram by dozens or hundreds of districts, each with its own local zone or configuration of zones, and the distributed scalability of SIF using zones is readily apparent.

3.3.2 Naming Conventions for Agents and Zone Integration Servers

SIF requires that each agent and ZIS be identified with a distinct case-sensitive identifier that is unique within a zone. This identifier is carried inside the SIF_SourceId element of the SIF_Header included in each SIF message and is used, among other things, at the ZIS to reference access control permissions of each agent within the zone. It is recommended that agent and ZIS implementations have user-configurable identifiers in order for zone administrators to maintain unique identifiers within the zone.

The identifier should be descriptive of the role of the application in the zone. For example, the library automation agent for Ramsey Elementary might carry the identifier RamseyLib instead of the less descriptive CC41Agent. The Zone Integration Server for Ramsey might be known as RamseyZIS.

3.3.3 Object Identifiers

Data objects and the data local to an application that map to these objects often must be retrieved by a unique identifier. Likewise there often exist relationships between data objects that require a unique key or identifier for efficient look-up of related data. SIF provides these keys or unique identifiers through object identifiers, also known as RefIds or GUIDs thanks to SIF naming conventions and the type of identifiers used in SIF, respectively. The StudentPersonal object, for instance, carries detailed information about a student, and most agents that manage or require student information reference the data stored in this object and often map the RefId of StudentPersonal to locally stored data, or request StudentPersonal objects from the zone by RefId. Objects often carry an attribute that identifies a particular object instance; this attribute is named RefId. It is imperative that RefIds not clash with any other RefId. This is especially relevant when an agent manages a database comprised of a mix of objects; for example, a library database containing patrons, which are a mix of both students and staff. To virtually eliminate the possiblity of duplicate object identifiers and to provide a consistent, decentralized way of generating these identifiers, SIF requires the use of a globally unique identifier (GUID) that MUST be generated per published algorithms [RFC 4122] whenever a RefId is used. GUIDs in SIF have their own format; they MUST be 32 characters long and contain only valid upper-case hexadecimal characters (0-9, A-F) with no spaces or punctuation.

Object identifiers do not have to appear on any customer screens and they do not replace any identifiers currently in use by applications. Applications and application users users can still reference data as they always have. The GUID provides an additional key, which becomes the SIF primary key that agents use to reference an object within SIF.

As stated, object identifiers are also used to represent telationships between objects. Where referenced, RefId is typically prefixed with the object name, e.g. StudentPersonalRefId in StudentPicture refers to the RefId of the StudentPersonal object corresponding to the student photographede.g. LearnerPersonalRefId in LearnerSchoolEnrolment refers to the RefId of the LearnerPersonal object corresponding to the enrolled learner. Other more complex conventions surrounding object identifiers and RefIds can be found in Data Model.

3.3.3.1 Persistence

When used as identifiers for objects that persist over time—take for instance the StudentPersonal object that represents a student in a Zone—it is SIF's intent that object identifiers not change over time. The RefId attribute for John Doe in first grade should have the same value when John Doe is in second grade, in middle school or in high school. This persistence of object identifiers enables longitudinal tracking of data within SIF, especially where there exist no locally unique identifiers associated with objects. Implementations SHOULD avoid reassignment of object identifiers within a zone and as the primary home for individual objects may move from one zone to zone over time (e.g. a student moving from a middle-school to a high-school zone).

3.3.4 Agent/Application Requirements

Each application that wants to be a SIF application, or SIF-enabled application, must have an agent written for it. An agent is an extension to the application that communicates with the ZIS. An agent can be an integral part of an application itself, or may be a separate, specialized client of or interface to an application.

All applications that are part of a SIF zone must be able to gracefully handle all SIF messages including those messages and data objects that the application does not support. It is RECOMMENDED that the application return an error SIF_Ack message to the ZIS for those messages that the agent does not support (error category Generic Message Handling, error code "Message not supported"). An agent MAY return an "Immediate" SIF_Ack to the ZIS and ignore unsupported messages.

High-level functional requirements for all SIF-enabled applications include the following. More detail on particular requirements may be found in Messaging and Infrastructure.

3.3.4.1 Communicate with the ZIS

Support for SIF HTTPS is REQUIRED of all agents. An agent MUST be able to communicate with the ZIS using SIF HTTPS, but it may attempt to communicate with the ZIS using any communication protocol defined in this or other specifications. SIF HTTP is the other communication protocol defined in this specification at this time. Support for any communication protocol other than SIF HTTPS is implementation-dependent. If connection attempts in protocols other than SIF HTTPS fail, a connection over SIF HTTPS should be made in order for communication to proceed. Given the sensitive nature of much of the data within the zone, it is RECOMMENDED that all communication occur over SIF HTTPS or similarly secure communication protocols.

Given a communication channel between agent and ZIS, an agent is REQUIRED to register with the ZIS if it is not already registered or if it wishes to change or retransmit its registration settings. The SIF_Register message provides the ZIS information regarding agent capabilities and requirements, and allows the ZIS to contact the agent in the future if the agent is capable of accepting ZIS-initiated communications (a Push-Mode Agent).

An agent MAY also indicate its support for various data objects and associated messages using one or more of the SIF_Provision, SIF_Provide and SIF_Subscribe messages.

3.3.4.2 Transmit Application Changes to the ZIS

When an application makes changes to its data that correspond to a SIF object it supports, the application MUST be able to publish SIF_Events reflecting those data changes. If the application/agent makes changes to its data in processing a SIF_Event it has received, it MUST NOT publish an event that duplicates the changes as described in the processed SIF_Event. Should the application/agent, however, make additional changes beyond those in the SIF_Event being processed, the application SHOULD generate a new event describing the additional changes.

If an application does not support an optional field of an object or that element was not changed during the last edit, it MUST NOT send an empty element, (i.e., <BirthDate/> or <BirthDate></BirthDate> ); it MUST omit the element from the XML stream instead.

When publishing Add events, Agents MUST include all elements listed as mandatory in Data Model for the object.

3.3.4.3 Respond to Requests

All agents MUST be prepared to handle SIF_Request messages for all objects gracefully. In the case where an agent receives a SIF_Request for an object that it does not support, in addition to acknowledging the receipt of the message to the ZIS it MUST send a SIF_Response message to the Requester with the SIF_Error element populated to indicate the nature of the error (invalid object), a SIF_PacketNumber of 1 and the SIF_MorePackets element set to indicate that no further packets will be sent in response to the SIF_Request.

If an application agent is a responder for any object, the agent must be prepared to process SIF_Request messages for that object. This involves the ability of the agent to traverse the application database and construct an XML response stream based upon the parameters of the query request. All responders MUST support SIF_Query and query conditions that reference root attributes of the object as well as any mandatory elements within the object, along with their mandatory attributes. Responders SHOULD support query conditions that reference optional elements and their attributes, when the application supports such queries. Responders MAY support SIF_ExtendedQuery and MUST register their support for SIF_ExtendedQuery using SIF_Provision and/or SIF_Provide.

When an agent is creating SIF_Response packets, it MUST attempt to ensure that each packet is no larger than the SIF_MaxBufferSize specified by the SIF_Request. If for any packet a single packet does fit within the supplied SIF_MaxBufferSize, the agent MUST, in addition to acknowledging receipt of the message to the ZIS, send a SIF_Response message to the Requester with the SIF_Error element populated to indicate the nature of the error, and the SIF_MorePackets element set to indicate that no further packets will be sent in response to the SIF_Request.

The SIF_Request message also contains SIF_Version elements that specify which SIF versions the responding agent should use when preparing the response packets. If a responding agent can support a single requested SIF version, it returns a response packet using that version. If more than one version is specified and the responding agent supports more than one of those versions it SHOULD respond with the highest version it supports. If the agent cannot support any requested SIF version, in addition to acknowledging receipt of the message to the ZIS, the agent MUST send a SIF_Response message to the Requester with the SIF_Error element populated to indicate the nature of the error, a SIF_PacketNumber of 1 and the SIF_MorePackets element set to indicate that no further packets will be sent in response to the SIF_Request.

If any other error occurs while creating SIF_Response packets for a given request, in addition to acknowledging receipt of the message to the ZIS, the agent MUST send a SIF_Response message to the Requester with the SIF_Error element populated to indicate the nature of the error, with SIF_MorePackets set to indicate that no further packets will be sent in response to the SIF_Request.

Agents supporting SIF_Requests MUST be able to return all of the object fields that the responding application supports or a subset of the fields as specified by the query request. For example, an Agent may request that only a student's graduation year be returned and not the entire StudentPersonal object. If the responder does not support a requested element, it MUST NOT exclude the object from the response stream. Any requested element that is unsupported is omitted from the response stream; when processing SIF_Query requests, parent elements of requested elements, including the object itself, are included in the response stream.

If an application does not support an optional element of an object, it MUST NOT return an empty element. The element MUST instead be omitted from the XML stream.

3.3.4.4 Changes Required to the Vendor's Application

Depending upon the type of architecture, the core application may need to be altered to ensure that the agent is able to forward changes to objects of interest to SIF. For example, an application that edits student data may need to be modified to capture the adds, changes, and deletes made to students and store them into a temporary repository until the agent can forward them to the ZIS. Other architectures provide the ability to trap these changes at a server level eliminating the need for any changes to the application itself.

To meet the SIF requirement of data robustness, it is highly RECOMMENDED that all changes to objects of interest to SIF be persisted using a database table, local message queue, or other highly reliable storage system. This specification allows for the ZIS and any or all agents to be offline at any given time. Without storing agent changes locally, these changes can be lost when the ZIS is temporarily unavailable; local storage allows these changes to be transmitted to the ZIS when it becomes available.

When an object is shared for the first time in SIF, it is the responsibility of the application making the object available to assign its object identifiers/primary keys, typically a RefId in the form of a GUID, before releasing that object to the zone in an Add event or in a SIF_Response. Some application databases are extended to include SIF object identifiers, others maintain mappings from SIF object identifiers to locally-defined keys.

If an application changes data that maps to a SIF object, it is RECOMMENDED that only the changed fields be sent to the zone. This will result in smaller message sizes and improved performance.

To avoid unintentional overwriting of data, unsupported fields or fields that have not been changed MUST NOT be sent to the zone using empty XML elements, (i.e. <Name Type="04"/> or <Name Type="04"></Name> ); the fields MUST be omitted from the XML stream instead.

3.3.4.5 Support Authentication and Digital Signatures

Supporting authentication is not a requirement but it is highly RECOMMENDED to ensure that your agent will be able to communicate with any ZIS. SIF does not mandate the use of authentication, but it is feasible that many SIF implementations will require this functionality. This is especially true for installations that may use the Internet to transport data.

Typically the authentication and verification mechanisms that are built into the network operating system or transport protocol can be leveraged. If these services are available, authentication and verification take place completely within the underlying security package.

The SIF HTTPS protocol supports authentication between an agent and a ZIS. If authentication is enabled and properly configured, a message receiver (agent or ZIS) can trust the SIF HTTPS implementation to verify that the message in its entirety comes from the claimed sender.

3.3.4.6 Agent Local Queue

An Agent can be developed with a local queuing mechanism so that it can automatically cache incoming messages in a local queue and can acknowledge receipt of each message to the ZIS with "Immediate" SIF_Ack messages (which causes the ZIS to remove received messages from the agent's queue). Agents with an Agent Local Queue do not need to send any "Intermediate" SIF_Acks to the ZIS. Use of an Agent Local Queue can be used to locally support selective processing of messages, similar to the functionality provided by Selective Message Blocking; its use also allows more flexibility and robustness during application/system failure when successfully acknowledging events, requests and/or responses before performing the corresponding SIF_Event, SIF_Request and/or SIF_Response handling.

Agent Local Queue is not a required feature of any Agent. Agent developers can choose not to develop the Agent Local Queue mechanism since this is not part of the compliance requirements for the specification at this time.

3.3.4.7 Wildcard Version Support

It is possible for a SIF Zone to contain Agents written to different versions of the SIF Implementation Specification if a ZIS supports multiple versions in a Zone and has at least one version in common with all registered Agents. As such, it is possible for a SIF Zone to contain Agents that have no versions in common with other Agents. These Agents consequently have no ability to exchange SIF_Event, SIF_Request or SIF_Response messages, unless the ZIS provides message conversion as described in "Multiple Version" Zones.

As message conversion is an implementation-dependent feature of a ZIS, it is RECOMMENDED that Agents register in Zones and request data using SIF_Version wildcards (see SIF_Register for format) that allow for the exchange of data between Agents supporting any subset of releases within a major release cycle of this specification (e.g. 2.* or * to accept any SIF_Message in the 2.x lifecycle). (Note that * allows messages from any major version to be delivered, which can be structurally quite different across major versions and pose development challenges, and is not particularly recommended for indicating the ability to receive messages from all versions within a major version release cycle.) This maximizes the ability of Agents to exchange messages and data in these Zones and, for customers, maximizes the utility of Zones supporting different versions of this specification.

Wildcard version support is particularly important for SIF-enabled applications that are not updated with each release of this specification. Furthermore, given that releases of the SIF Implementation Specification are on a more rapid release cycle beginning with version 2.1, typically smaller in scope than SIF Implementation Specification releases historically, it is anticipated that it will become more common for SIF-enabled applications in Zones to support different specification versions, and for more applications not to be updated with each release of this specification. Wildcard version support also allows applications to be SIF-enabled at any time in a SIF Implementation Specification major release cycle without risking the need to upgrade with the introduction of a new minor release of the specification, particularly when the new functionality offered by the specification does not apply to or impact the application.

Ignoring revision releases, the changes typical of releases within a given major version are limited to new data objects and optional additions to existing data objects (and optional infrastructure additions). This nature of a lower release being a subset of each higher release within a major release lifecycle—and of a higher release being a superset of each lower version—allows SIF-enabled applications access to the same elements they rely on at the time of their implementation from SIF messages defined by a number of SIF Implementation Specification versions. For associated implementation notes, see Wildcard Version Support Implementation Notes.

While wildcard version support in this specification is only RECOMMENDED, SIF-enabled application developers should be aware that this support may be mandatory in some SIF Certification Program product standards [SIFCertification] associated with a major release cycle, if application vendors wish to establish their applications as SIF Certified™.

3.3.5 Zone Integration Server Requirements

The Zone Integration Server is the central integration point for all the agents in a zone. Depending on the message type, a ZIS either saves information in the messages that it receives or forwards the messages to other appropriate agents.

The ZIS implementer is free to internally manage registration and access permissions information in any form that the implementer supports. In order to provide an example of how an administration system may be structured, this document describes a database consisting of an Access Control List and Zone Status.

3.3.5.1 Access Control List

A ZIS MAY maintain access control on whether a zone administrator has granted an agent permissions to register.

A ZIS MAY exhibit behavior with regard to the ACL that could be perceived by an Agent as if virtual tables exists defining the following information:

FieldComments
Agent IDThe unique ID for an Agent (provided as the Source ID in a SIF_Register message)
RegisterMay this agent register in the zone?
Table 3.3.5.1-1: Register

An example of this virtual table, which defines which agents are allowed to register in the zone, might be as follows:

Agent IDRegister
RamseySIStrue
Table 3.3.5.1-2: Virtual Table Example (Register)

In addition, a ZIS MUST exhibit behavior with regard to the ACL that could be perceived by an Agent as maintaining per-context/per-object permissions for each message associated with SIF's Publish/Subscribe and Request/Response models. When an agent tries to inquire about a student's personal information, for example, the ZIS needs to check if the agent has the proper permission to request such information. Access control is needed to ensure that the information available in SIF only originates from and is accessible by authorized agents.

FieldComments
Agent IDThe unique ID for an Agent (provided as the Source ID in a SIF_Register message)
Context NameThe name of the SIF Context to which the permissions apply
Object NameThe object being manipulated (e.g., StudentPersonal, etc.)
ProvideMay this Agent register as the provider for this object in this context?
SubscribeMay this Agent register as a subscriber for this object in this context?
Publish "Add" EventMay this Agent publish "Add" events for this object in this context?
Publish "Update" EventMay the Agent publish "Update" events for this object in this context?
Publish "Delete" EventMay the Agent publish "Delete" events for this object in this context?
RequestMay this Agent request this object in this context?
RespondMay this Agent respond to a request for this object in this context?
Table 3.3.5.1-3: Access Control

It is important to understand that this is a virtual table, defining the appearance of the functionality to the Agents, the actual implementation of this functionality is at the discretion of the implementers of a ZIS. An example follows:

Agent IDContext NameObject NameProvideSubscribePublish "Add" EventPublish "Update" EventPublish "Delete" EventRequestRespond
RamseySISSIF_DefaultStudentPersonaltruetruetruetruetruefalsetrue
RamseySISSIF_DefaultLibraryPatronStatusfalsefalsefalsefalsefalsetruefalse
Table 3.3.5.1-4: Virtual Table Example (Access Control)

In addition to access control permission violations, attempts to register any of this functionality with the ZIS may fail due to other reasons; e.g. unsupported transport mechanisms, there already being a provider for an object, etc. As a result, an Agent SHOULD be able to gracefully handle corresponding error conditions or report those errors to a zone administrator.

3.3.5.2 Zone Status

The ZIS MUST maintain the status of the zone for implementation purposes, as well as for communicating this status to other agents, as defined in SIF_ZoneStatus, when requested. This status includes but is not limited to:

Providing examples of virtual tables that illustrate storage of all the information associated with SIF_ZoneStatus is beyond the scope of the specification; implementers should refer to SIF_ZoneStatus for requirements.

3.3.5.3 Zone Context Registry

Zone Integration Servers MUST maintain a registry of the contexts used in each zone in order to perform contextual message routing and to populate the SIF_ZoneStatus/SIF_Contexts element. This registry will always contain, at a minimum, the official list of contexts defined by the version of SIF that the ZIS supports. Beginning with SIF 2.0, that means that each zone will, at a minimum, support the SIF_Default context. A ZIS MAY support allowing additional contexts to be defined within the context registry at the discretion of the ZIS administrator. Access Control Lists within each context MUST also be able to be managed by the ZIS administrator. The set of permissions for each agent within each context MUST be able to be set differently than ACL permissions within a different context for the same agent.

An agent can obtain a list of all contexts currently defined in a zone by requesting the SIF_ZoneStatus object and enumerating the children of its SIF_Contexts element. An agent can determine its ACL permissions within the zone and each context by referring to the SIF_AgentACL object and enumerating the permissions and contexts defined within it.

3.3.5.4 Administration

A ZIS MUST provide an interface for Zone Administrators to configure zone settings, including access control permissions. Given the distributed nature of SIF, it is RECOMMENDED this be a Web-based interface. Some of the areas that require administration are:

Administration
Start and stop the ZIS and/or set the state of the ZIS to "asleep" or "awake."
Security Policies
A ZIS must provide an interface for administering access control permissions as described above.
Administering the minimum SIF_EncryptionLevel for the zone (if only one encryption level is supported, configuration options are unnecessary).
Administering the minimum SIF_AuthenticationLevel for the zone (if only one authentication level is supported, configuration options are unnecessary).
It may also include installing client and server certificate administration.
Zone Settings
If the ZIS supports more than one SIF version it must support configuration of which SIF versions are used in a zone.
If the ZIS supports more than one transport protocol, it must allow for configuration of which transports agents can use to communicate, including limiting communication to SIF HTTPS.
The ZIS must support configuration of the minimum acceptable SIF_MaxBufferSize for the zone.
If message validation is supported and configurable, configuration to enable or disable message validation in a Zone should be available.
Logging
Capture error and message logs to aid in tracking pending, successful and failed delivery of messages.
Reporting
Report zone status and statistics.
Testing
Provide a mechanism to "ping" Push-Mode agents.

3.3.5.5 Support Selective Message Blocking (SMB) to Resolve Deadlocks

3.3.5.5.1 Description

Selective Message Blocking is a feature that MUST be implemented by a ZIS to enable non-multitasking agents unable to persist portions of their message queue locally to request information from other Agents while processing a SIF_Event message, without causing communication "deadlock" between an agent and a ZIS.

This feature allows an agent to inform the ZIS with an "Intermediate" SIF_Ack message that the ZIS must temporarily stop delivering SIF_Event messages to the agent. The "Intermediate" SIF_Ack message must not be used by agents in response to messages other than SIF_Event. The ZIS, however, can deliver other agent-destined messages, SIF_Request and SIF_Response, to this agent. After it finishes processing the SIF_Event message this agent sends the "Final" SIF_Ack message to the ZIS, which will discard the blocked SIF_Event message and resume normal delivery of all messages, including SIF_Events. SMB is supported for both Push and Pull modes.

3.3.5.5.2 Requirements
3.3.5.5.3 Example

For a detailed example of SMB, see the Selective Message Blocking (SMB) Example.

3.3.6 Message Processing

To ensure interoperability, SIF defines a set of messages that are exchanged between agents and Zone Integration Servers. The SIF messages are used to perform various operations such as provision, subscription, event reporting, request and response, and ZIS administration.

3.3.6.1 Message Validation

SIF recommends that each message receiver validate any incoming message to ensure that it is a valid SIF message. A message receiver should discard any messages that do not conform to the definition of SIF_Message and return an error to the originator of the message.

This specification will evolve over time to include new messages and modifications to messages that have been defined. Each agent and ZIS should explicitly define which version(s) of the specification they support and validate each incoming message according to its version.

The SIF Association provides an XML Schema [SCHEMA] corresponding to this version of the specification for ZIS and agent implementations that choose to perform optional message validation. Implementations are free to include additional validation above and beyond the validation capabilities that XML Schema provides.

The schemas for all versions of this specification are available from the SIF Association and can be referenced by ZIS and agent implementations that choose to perform optional message validation.  This allows implementations to choose schemas based on the particular version in use by an agent or a ZIS. SIF messages MUST NOT be transmitted with hard-coded references to DTDs, schemas or other validation mechanisms. The XML "doctypedecl" (<!DOCTYPE SIF_Message… ) MUST NOT occur in SIF XML messages, nor should xsi:schemaLocation be used on SIF_Message.

The schemas for supported versions of the SIF Implementation Specification enforce ordering of elements and data typing within objects, as per the element tables given in Infrastructure and Data Model. In the event that ZIS and agent implementations choose not to perform message validation, ZIS and agent implementations must still send elements as ordered with the types specified in the element tables (i.e., well-formed AND valid XML must be sent for approved objects even if validation is known to be turned off). When XML validation is turned off, the sending of draft and locally-defined objects not included in the schemas becomes possible, and these objects may experimentally be sent as desired until they make their way into future versions of the specification and supporting schemas.

ZIS implementations are in the unique position of not only sending messages they themselves formulate; they also forward messages received from agents. When optional message validation is not being performed by a ZIS, it is possible that the ZIS may receive a well-formed but invalid XML message from a non-compliant agent. Under these circumstances, and being the routing mechanism it is, a ZIS is under no obligation to correct an invalid XML message it receives from an agent for delivery to other agents. Zone administrators can prevent invalid XML messages from being delivered if the ZIS supports message validation and they choose to turn that feature on, if configurable. Should it receive an invalid but well-formed message from an agent, a ZIS not performing message validation delivers the message like any other to destination agents.

3.3.6.2 Message Identification

Each message originating from an agent or ZIS needs to have a message identifier (SIF_MsgId) that is used to identify the message. In order to eliminate the possibility of duplicated message identifiers, and to provide a consistent way of generating these identifiers, SIF requires the use of a globally unique identifier [RFC 4122] as message identifiers.

The reason that a unique identifier is required is that many messages are handled asynchronously in SIF. This means, for example, that SIF_Responses for a given SIF_Request message may not arrive until some time in the future. When the SIF_Response arrives, it will contain the original SIF_MsgId but no other information about the original message is guaranteed to be provided. The message originator must ensure that it will be able to match up the SIF_Response with the original message based solely on the message identifier.

For further information concerning the generation of GUIDs, see [RFC 4122].

3.3.6.3 Message Security

Because of policy or legislation, providers of extremely sensitive data must never expose that data over an insecure channel. An insecure channel at delivery time is one whose levels of authentication (SIF_AuthenticationLevel) and data encryption (SIF_EncryptionLevel) fall below the values specified by the originating sender. Once the data is communicated to the ZIS, the originator of the message depends upon the ZIS to enforce the security levels requested and the ZIS must not deliver that message to recipient agents using an insecure channel. The originating agent requests the use of a secure channel at delivery time by incorporating a SIF_Security element in the header of the message. The SIF_Security element contains SIF_AuthenticationLevel and SIF_EncryptionLevel elements that define the minimum level of security a data transport channel must provide upon delivery. If a ZIS does not deliver a message due to insufficient security of the connection with a recipient agent, it is recommended that the ZIS log the inability to deliver the message due to security requirements.

The only SIF messages that currently originate with an agent and that are ultimately delivered to other agents are SIF_Request, SIF_Response and SIF_Event. An originating agent may add a SIF_Security element to all messages, but these three messages are the only ones where SIF_Security will be examined and processed by the ZIS. SIF_Security is used by an originating agent to specify the security requirements of the communication channel between the ZIS and any recipient agent at delivery time. The semantics of including the SIF_Security element on messages other than SIF_Request, SIF_Response and SIF_Event are reserved for future versions of the specification.

The specification provides several levels of authentication and encryption protection.

3.3.6.3.1 SIF_AuthenticationLevel
0
No authentication required and a valid certificate does not need to be presented.
1
A valid certificate must be presented.
2
A valid certificate from a trusted certificate authority must be presented.
3
A valid certificate from a trusted certificate authority must be presented and the CN field of the certificate's Subject entry must match the host sending the certificate.

The CN field is more commonly known as the "Common Name" field. SIF_AuthenticationLevel 3 requires that the CN contents match the host where the message was originated. For instance, a CN entry could be "sifinfo.org" or perhaps "207.95.37.30". If a ZIS at SifInfo.org (IP address 207.95.37.30) contacts an agent at MyAgent.sifinfo.org, the agent's SIF HTTPS transport layer can look at the CN entry in the certificate that was presented by the ZIS and compare it to the actual IP address of the ZIS. SIF_AuthenticationLevel 3 ensures that not only a valid and trusted certificate was presented but that the agent is actually communicating to the ZIS located at the IP address referenced in the certificate.

Because security is a cornerstone of the SIF specification, it is recommended that all ZIS and Agent implementations support client authentication as well as server authentication. When client authentication is being used, the connection first authenticates the server (the party that is being contacted) and if the authentication was successful, the server will request that the client present its certificate for authentication. In this manner, both the ZIS and the agent confirm that they are communicating with the proper parties.

Since client authentication is not universally available in all SIF HTTPS implementations, client authentication is only recommended. The need for client authentication is reduced somewhat by using asynchronous message delivery (Push mode) since the ZIS and the agent are both server type applications and will authenticate each other. The need for client authentication is greater for those agents polling for messages (Pull mode) because the ZIS never has to initiate contact with the agent.

3.3.6.3.2 SIF_EncryptionLevel
0
No encryption required
1
Symmetric key length of at least 40 bits is to be used
2
Symmetric key length of at least 56 bits is to be used
3
Symmetric key length of at least 80 bits is to be used
4
Symmetric key length of at least 128 bits is to be used

If a SIF_Request, SIF_Response or SIF_Event is received by the ZIS that does not contain a SIF_Security element, the ZIS assigns the lowest level (0) to both the SIF_AuthenticationLevel and SIF_EncryptionLevel requirements for the message, unless a Zone administrator has configured higher minimum encryption and authentication levels for the Zone. This means that the ZIS may distribute this message to any agent that has registered with the ZIS subject to the access control security provisions in place for the zone.

The lack of a SIF_Security element does not mean that the message will be transported in an insecure manner. Recipient agents communicating with the ZIS over secure channels will receive the message in a secure manner, consistent with the connection. Omitting the SIF_Security element simply allows for those agents that communicate over insecure channels to receive the message, should a zone allow for insecure channels. A zone administrator can prevent messages without SIF_Security elements being communicated over insecure channels by configuring the ZIS and agents in the zone such that a minimum security level is maintained, below which communication is impossible.

For ZIS and agent implementations that support communication protocols or transport implementations where the security of a channel cannot be determined at delivery time, it is recommended that the zone administrator configure the ZIS and agents in the zone such that a minimum security level is maintained, below which insecure connections cannot be established.

3.3.6.3.3 Notes on SIF_AuthenticationLevel

If authentication based on certificates is being used, care needs to be given to determine if Level 2 (anonymous certificates) will provide the necessary level of protection. With Level 2 authentication, it is possible to use a web browser to make secure connections to the ZIS using the certificates that are built into the browser. This level of authentication is what is used by almost all Internet transactions (stock trading, shopping, financial, etc.). Level 2 does expose the user to a risk of a "man-in-the-middle" attack that can't occur using Level 3 authentication.

Level 3 mandates that a certificate issued by a trusted authority, (i.e. school district), be installed in the web browser before the browser will be able to connect to the ZIS. This may place unnecessary burdens on the client especially if it is likely that authorized users may wish to connect to the ZIS using a variety of browsers.

3.3.6.3.4 Notes on SIF_EncryptionLevel

Weaknesses in a cipher algorithm aside, the major governing factor as to the strength of data encryption is the length of the cipher key. Thus a 128-bit implementation typically provides stronger encryption than an 80-bit implementation. Please note that support of some SIF encryption levels may be subject to export control, limiting distribution of all levels in all countries [EXPORT].

There are also two main types of cipher algorithms. The first is called a symmetric cipher, which uses the same key to encrypt and decrypt the data. The second type is called public-key cipher, which depends upon using a private key of the sender along with the public key of the receiver. Because of the nature of public-key ciphers, a larger number of bits must be used to achieve a comparable level of encryption strength.

The SIF_EncryptionLevel bit sizes are based on symmetric ciphers. A table that lists the equivalent key length for a public-key cipher is listed below.

Symmetric Key LengthPublic Key LengthStrength
40 bits256 bitsVery weak, not recommended except for very minimal protection (i.e. prevents casual snooping but can be broken in minutes by knowledgeable attackers).
64 bits512 bitsWeak. The current U.S. "standard" has been bumped up to 64 bits from 56 bits but the key length is still weak for sensitive data.
80 bits768 bitsModerate
128 bits2048 bitsStrong, recommended for Internet
Table 3.3.6.3.4-1: Key Lengths

For more information regarding this topic, please refer to Chapter 7 of [Schneier].

3.3.6.4 Message Robustness

It is important for SIF to guarantee message delivery no matter what happens during delivery of a message, including an unexpected network breakdown or system crash. This requires that each agent and ZIS save each message in permanent storage. At delivery time it is also possible, however, for a ZIS to be prohibited from delivering a message due to security requirements requested by originating agents for individual messages. If this occurs, it is recommended that ZIS implementations discard the affected message so that delivery of other messages may proceed. If the ZIS does discard the message, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from the original message. In addition, it is recommended that the ZIS log the delivery failure to its own log.

When a message is delivered under normal circumstances by a ZIS, an agent will return an "Immediate" SIF_Ack or a SIF_Ack with any applicable error condition, signaling the ZIS that it may delete the message from permanent storage. In the case of events, agents may also return an "Intermediate" SIF_Ack to invoke Selective Message Blocking (SMB). In that case, the ZIS will not delete the current SIF_Event from permanent storage until the agent sends a "Final" SIF_Ack to the ZIS.

When a message is sent to the ZIS under normal circumstances by an agent, the ZIS returns a successful SIF_Ack or a SIF_Ack with any applicable error condition to indicate to the agent that it has in fact received the message and that the agent may delete the message from any permanent storage.

If a ZIS or agent encounters a transport error in sending a message, it is recommended that the sender retry sending the message. Transport errors where retrying the message is warranted include, but are not limited to, a connection close without a SIF_Ack returned, a transport error or a SIF_Ack with an error category of 10 indicating a connection cannot currently be established, etc. A ZIS in particular must retry delivery of messages from the agent queue until a SIF_Ack that removes the message from the agent's queue is received, subject to certain undeliverable error conditions (e.g. security requirements cannot be negotiated, maximum buffer size too small, etc.). Facing such error conditions, other potentially unresolvable transport errors, or if a SIF_Ack is returned with any other type of error category, the sender may decide not to retry or—when queued, to delete—a message to avoid a potential deadlock condition. Agents returning SIF_Ack messages with error conditions should be aware that such acknowledgements will remove the currently pending message from their delivery queue.

3.3.6.5 Message Cycle

All SIF messages follow the same model. The sender posts a message and receives a SIF_Ack back as a response. The posting of the message by the sender and the receipt of the SIF_Ack from the receiver constitutes one complete cycle. Agents and ZISes can function as senders or receivers, depending on the type of message. The message process is identical, regardless of the type of message being sent.

If for any reason a sender inadvertently resends a message with a given SIF_MsgId and the receiver detects this, the receiver may return a SIF_Status code indicating that it already has the message. This SIF_Status code is considered a success; the receiver simply discards the duplicate message and continues handling of the original message.

3.3.6.6 Message Delivery

There are two models for delivering messages to an agent, "Push" and "Pull." An agent specifies which mode it wants to use when it registers with the ZIS.

"Push" refers to the action by a ZIS to actively deliver messages to an agent without the agent having to initiate contact with the ZIS. When the ZIS receives a message for an agent and the agent is not in "Sleep" mode; the ZIS will initiate contact with the agent and send the message to the agent.

"Pull" refers to the action by an agent to explicitly request a single message from the ZIS. When an agent is ready to receive a message, it sends a "Pull" request to the ZIS, to obtain a message that the ZIS has saved in the queue for the agent. After receiving the pull request, the ZIS will examine the agent's queue and either returns a message or a status code indicating that no messages are available for the agent.

Both modes serve useful purposes. The key requirement is that both an agent and its ZIS must communicate using the SAME mode to avoid potential conflicts.

At delivery time, be it in push or pull mode, a ZIS may encounter messages that it is prohibited from delivering, e.g. due to security requirements requested by originating agents for individual messages, etc. If this occurs, it is recommended that ZIS implementations discard the affected message(s) so that delivery of other messages may proceed. If the ZIS does discard a message, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from the original message. SIF_LogEntry/SIF_Desc must contain the SourceId of the agent that has failed to receive the message. In addition, it is recommended that the ZIS log the delivery failure to its own log.

3.3.6.6.1 The "Push" Model

When an agent has registered using the "Push" mode, the agent assumes that the ZIS will open a transport connection and send the next available message to the agent. An agent can reply to the sent message with an "Immediate" or optionally—in the case of SIF_Events—an "Intermediate" SIF_Ack, invoking Selective Message Blocking (SMB); it can also reply using a SIF_Ack with any applicable error condition. "Immediate" or error SIF_Acks remove the current message from the agent's queue, freeing any remaining or future messages to be delivered to the agent. A "Final" SIF_Ack sent to the ZIS will terminate SMB, removing the frozen event from the agent's queue, freeing any remaining or future messages to be delivered to the agent.

3.3.6.6.2 The "Pull" Model

When an agent has registered using the "Pull" mode, the agent requests a message from the ZIS by sending a SIF_GetMessage message to the ZIS.

An agent can only issue a SIF_GetMessage to request a message if the agent has previously sent a successful SIF_Register message specifying Pull mode. If the ZIS receives a SIF_GetMessage request and the agent hasn't registered using the Pull mode, the ZIS must return a SIF_Ack containing an error category of Registration and an error code indicating that the agent has registered using Push mode.

After receiving a SIF_GetMessage request from an agent, the ZIS will return the next message available for delivery to the agent, subject to Selective Message Blocking. The criteria used to select the message are identical to that used if the ZIS were to Push a message to an agent.

If a message is available for the agent, the ZIS will return a SIF_Ack message with a SIF_Status/SIF_Code of 0 and SIF_Status/SIF_Data containing the message from the queue:

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>ABCD1058E028D076F083738296372D4E</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>SifInfo_TestZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>1058ABCDE028D076F083283BC63E6276</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>0</SIF_Code> <SIF_Data> <SIF_Message Version="2.3"> <SIF_Event> <SIF_Header> <SIF_MsgId>AB34DC093261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLib</SIF_SourceId> </SIF_Header> <SIF_ObjectData> <SIF_EventObject ObjectName="StudentPersonal" Action="Change"> <StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <Name Type="04"> <FirstName>William</FirstName> </Name> </StudentPersonal> </SIF_EventObject> </SIF_ObjectData> </SIF_Event> </SIF_Message> </SIF_Data> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 3.3.6.6.2-1: The "Pull" Model - SIF_Status/SIF_Code of 0

When a pull-mode agent supports multiple SIF specification versions, the version of the SIF_Ack message returned by the ZIS must match the version of any SIF_Message contained in SIF_Status/SIF_Data. For example, if an agent supports versions 1.1 and 1.5 (or 1.*) and the next message in the agent's queue has a SIF_Message/@Version value of 1.5, the Version attribute of the SIF_Ack message returned by the ZIS must be 1.5, even if the pull-mode agent sent its SIF_GetMessage in a 1.1 SIF_Message. For an agent that supports both 1.1 or later versions and pre-1.1 version(s) (e.g. 1.0r2), when the next message in the agent's queue is from a pre-1.1 agent, the ZIS must return the message in a SIF_Ack message as defined by the pre-1.1 specification.

A pull-mode agent removes the returned message from its queue in one of three ways. In each case the value for the SIF_OriginalMsgId element in any SIF_Ack(s) created by the agent originates from the SIF_MsgId of the SIF_Message returned as SIF_Data by the ZIS. Typically a pull-mode agent removes the message from its queue by sending an "Immediate" SIF_Ack to the ZIS; an agent may also send a SIF_Ack with any applicable error condition to the ZIS. The ZIS then removes the message from the agent's queue and returns a successful SIF_Ack. If the message is a SIF_Event and the agent wishes to invoke SMB, it can instead notify the ZIS that it is processing the event by sending an "Intermediate" SIF_Ack (which the ZIS acknowledges with a successful SIF_Ack) and later sending a "Final" SIF_Ack when the SIF_Event processing is complete. When the ZIS receives the "Final" SIF_Ack, it removes the SIF_Event from the agent's queue and returns a successful SIF_Ack.

If there are no messages in the agent's queue that can be delivered, the ZIS will return a SIF_Ack message with a SIF_Status/SIF_Code of 9 to indicate that there are no messages available for the agent:

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>ABCD1058E028D076F0835E32AC89E048</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>SifInfo_TestZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>1058ABCDE028D076F08365109BE7C892</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>9</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 3.3.6.6.2-2: The "Pull" Model - SIF_Status/SIF_Code of 9
3.3.6.6.3 "Multiple Version" Zones

It is possible for a zone to contain agents written to different versions of the SIF Implementation Specification if a ZIS supports multiple versions in a zone and has at least one version in common with all registered agents. It is possible that two agents in the same zone—both successfully registered—have no version in common, and this affects message delivery by the ZIS in the following manner.

When the next message to be delivered to a given agent has a SIF_Message/@Version attribute that the agent is known not to support, the ZIS cannot successfully deliver that message to the agent without conversion. Should a ZIS implementation choose to convert messages on the fly as a "value-add" feature, it is free to do so; this specification does not prescribe how to convert messages, and support for such conversion is implementation-dependent. However, if the ZIS does not or cannot convert the message such that it can be delivered, it should discard the pending message so that delivery of other messages may proceed. If the ZIS does discard the message, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from the original message. SIF_LogEntry/SIF_Desc must contain the SourceId of the agent that has failed to receive the message. In addition, it is recommended that the ZIS log the delivery failure to its own log.

3.3.7 Infrastructure Transport Layer

The Infrastructure messages are used by SIF to encapsulate and transfer the data objects. They form a messaging application program interface (API) which is expressed in XML.

It is a design objective to express the entire Infrastructure API in XML and not to have dependencies upon any underlying transport layer to provide functionality other than the transportation of the XML from client to server and back. This ensures that the Infrastructure messages can be carried over a variety of communication transports.

The infrastructure depends upon the transport layer to provide a reliable connection to move messages back and forth from client and server. The transport layer is also responsible for providing data security by means of data encryption and authentication of the client and server. Some transport layers even provide data compression, which is an important factor when processing a large volume of XML messages.

By delegating the authentication, compression, and encryption to the transport layer, it makes the user interface to the transport simpler. A client that wishes to send an infrastructure message assembles the message in XML and then hands it off to the transport layer for delivery. The transport layer takes the XML message and transfers it to the server where it is taken from the transport layer and processed.

In moving from the client to the server, the transport may have compressed, encrypted, and authenticated the connections but all of this is transparent to the users of the Infrastructure API. To the user, it is XML in and XML out.

Different types of transports are or will become available providing various features and benefits. An Agent or ZIS MAY employ multiple transport protocols but they MUST support SIF HTTPS.

Please note that throughout this specification transport layer errors are sometimes illustrated as SIF_Ack messages with SIF_Error/SIF_Category of Transport and applicable error codes. Under many transport error conditions, these SIF_Ack messages could not be returned or sent by the remote host. Depending on the SIF infrastructure transport layer implementation these messages may be generated by the implementation (e.g. when a connection to a server cannot be established), or may occur as transport layer errors or exceptions in the underlying network operating system or transport protocol. Both should be treated equivalently.

3.3.7.1 SIF HTTPS Transport

In order to ensure that Agents and Zone Integration Servers can communicate with each other regardless of vendor or platform, all Agent and ZIS implementations MUST support the SIF HTTPS transport layer protocol.

SIF HTTPS is a combination of the HTTP 1.1 protocol [RFC 2616] with secure socket layer (SSL) protocols, resulting in an easy-to-use and secure transport protocol. The RECOMMENDED SSL implementation is TLS 1.0 [RFC 2246]; however, SSL 3.0 [SSL3] is also supported and SSL 2.0 client hellos [SSL2] used to negotiate TLS 1.0 or SSL 3.0 connections are also permitted. Support for the SSL 2.0 protocol itself—aside from its client hello message—is not provided in SIF. Due to the age of the SSL 3.0 and SSL 2.0 protocols and the increasing prevalence of TLS 1.0, The SIF Association expects to deprecate support for the SSL 3.0 protocol and SSL 2.0 client hellos in future major releases of this specification.

Being based upon HTTP 1.1, the SIF HTTPS and SIF HTTP protocols support persistent or keep-alive connections that greatly increase the message throughput between sender and receiver. This is an especially important factor when using HTTP in conjunction with secure socket layers, where there is a significant amount of overhead when initially opening a connection.

When using HTTP 1.1 with SIF, [RFC 2616] can be used as a reference, however SIF uses a subset of the HTTP 1.1 protocol. For example, only the POST method and the 200-OK response notice are used by the SIF HTTPS protocol.

Support of Transfer Encoding and data chunking ([RFC 2616], Section 3.6) is not required for SIF HTTPS. An implementation of the protocol may support Transfer Encoding and data chunking but it must be able to communicate successfully with a client or server that does not support this feature.

Because protocol changes are handled at the Infrastructure XML API level, a client or server must not use the Connection: Upgrade or Upgrade: xxx headers to invoke a request for a protocol change. If a client or server receives an upgrade header, it must ignore that header and not change communication protocols.

3.3.7.1.1 HTTPS Request/Response Model

A client is the party (Agent or ZIS) who initiates a connection to a remote machine. The remote end (ZIS or Push-Mode Agent) is known as the server.

A client using the SIF HTTPS protocol opens a connection to the server and sends a HTTP 1.1 POST request with the SIF Infrastructure XML message as the POST payload. The server responds with an HTTP response with the Infrastructure XML acknowledgement message as the response payload. Clients MUST encode the XML message using UTF-8; servers MUST be able to process UTF-8-encoded XML and SHOULD expect all incoming SIF XML messages to be encoded using UTF-8.

The default behavior for HTTP 1.1 is to use persistent or "keep-alive" connections. When operating in this mode, the client may send additional POST requests and receive the HTTP responses using the same connection. Clients SHOULD use persistent connections for performance reasons but MUST be able to use non-persistent connections if the server does not wish to use persistent connections.

3.3.7.1.2 HTTP Request Headers

The following HTTP request and common headers defined in [RFC 2616]MUST be present in all SIF HTTPS messages sent by a client:

HeaderDescriptionRequired Contents
Content-LengthThe exact size of the attached payload (XML message)
Content-TypeDescribes the contents of the request. Firewall and web server programs can filter messages going through a network by examining this header.application/xml;charset="utf-8"
HostSpecifies the Internet host and port number of the destination server
Table 3.3.7.1.2-1: HTTP Request Headers

Note that all header values MUST conform to the requirements of [RFC 2616] and MAY take equivalent forms subject to those requirements (e.g. application/xml;charset=utf-8 (no quotes),  application/xml; charset=utf-8 (optional spacing), etc.).

In addition to the headers above, a client may include a Connection: close header in the HTTP request if it wishes to close the current connection after receiving the response. If this header is included, the client MUST NOT send additional requests on this connection. The client MUST close the connection after receiving the response.

Clients may also include an "Expect: 100-continue" header (see below).

Additional headers beyond the required and optional headers listed here MAY be included by a client; however, the server MUST be able to successfully process POST requests that only contain the required headers.

POST /MyPath HTTP/1.1 Content-Length: 420 Content-Type: application/xml;charset="utf-8" Host: sifinfo.org:8000 <SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>56409F0C01FBD1C44300B4518E100765</SIF_MsgId> <SIF_Timestamp>2006-04-11T18:18:13-05:00</SIF_Timestamp> <SIF_SourceId>SifInfo_TestAgent</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_Ping /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 3.3.7.1.2-1: SIF HTTPS Request

Implementations of SIF HTTPS MUST be able to specify the value for the path (/MyPath in the example) as the Agent or ZIS may require a specific value for routing purposes.

3.3.7.1.3 HTTP Response Headers

The following HTTP response and common headers defined in [RFC 2616] must be present in all SIF HTTPS responses messages sent by a server:

HeaderDescriptionRequired Contents
Content-LengthThe exact size of the attached payload (XML message)
Content-TypeDescribes the contents of the request. Firewall and web server programs can filter messages going through a network by examining this header.application/xml;charset="utf-8"
DateThe current date and time in the format described in RFC 2616 Section 3.3. Note that the date is UTC based and NOT local time.
ServerIdentifies the server sending the response. Clients may use this information to infer information about the server being contacted (vendor, model, version, capabilities, etc.)
Table 3.3.7.1.3-1: HTTP Response Headers

Note that all header values MUST conform to the requirements of [RFC 2616] and MAY take equivalent forms subject to those requirements (e.g. application/xml;charset=utf-8application/xml; charset=utf-8, etc.).

In addition to the headers above, a server MAY include a Connection: close header in the HTTP response if it wishes to close the current connection after sending the response. The server MUST close the connection after sending the response.

The server MAY include additional headers; however, the client MUST be able to successfully process response notices that only contain the required headers and optional header listed here.

HTTP/1.1 200 OK Content-Length: 529 Content-Type: application/xml;charset="utf-8" Date: Mon, 02 Apr 2001 23:32:00 GMT Server: SIFZIS;V1.1 <SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>4A900E10F4E675CF4A01B4518E100765</SIF_MsgId> <SIF_Timestamp>2006-04-11T18:18:13-05:00</SIF_Timestamp> <SIF_SourceId>SifInfo_TestZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>SifInfo_TestAgent</SIF_OriginalSourceId> <SIF_OriginalMsgId>56409F0C01FBD1C44300B4518E100765</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>0</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 3.3.7.1.3-1: SIF HTTPS Response

Although the SIF HTTPS protocol uses the 200-OK response notice to communicate all responses, Agent or ZIS implementations could be built using existing web server infrastructures. As such, SIF HTTPS implementations should expect the possible receipt of other HTTP 1.1 response notices.

3.3.7.1.4 100 (Continue)

This response message status is generally returned if the client has included an Expect: 100-continue header in its request. Certain web server implementations return a 100 (Continue) status response even though the original request did not contain an Expect: 100-continue header. When a client receives an unexpected response with a 100 (Continue) status, it must discard that response and wait for a subsequent final (e.g. 200-OK) response. Clients explicitly requesting a 100 (Continue) status response by including an Expect: 100-continue header in a request should proceed with the request body according to section 8.2.3 of the HTTP 1.1 [RFC 2616] specification upon receipt of the 100 (Continue) status response.

A SIF HTTPS client may include an Expect: 100-continue header but generally does not. If it does, however, servers (ZIS and push-mode agent implementations) must handle the header according to section 8.2.3 of the HTTP 1.1 [RFC 2616] specification, possibly returning an intermediate response with 100 (Continue) status, for communication to proceed correctly.

3.3.7.1.5 3XX, 4XX, 5XX Notices

A server should only return 200-OK response notices but may return other notices. Servers built using existing web server technology are more likely to return other types of response notices. If a client receives any 3xx, 4xx, or 5xx response notices, it must treat these responses as if a transport error has occurred.

3.3.7.2 SIF HTTP Transport

The SIF HTTP protocol is identical to the SIF HTTPS transport without a secure socket layer to provide data encryption and authentication.

An Agent or ZIS MAY implement the SIF HTTP transport but MUST implement the SIF HTTPS protocol.

Because of the sensitive data being exchanged in SIF, it is RECOMMENDED that only SIF HTTPS be used.

3.3.7.3 SIF HTTP(S) Transport Compression

It is possible that compression can improve network throughput in SIF implementations where large amounts of data are transferred over SIF HTTP(S), either horizontally or vertically. The HTTP 1.1 specification [RFC 2616] allows for negotiating the content encoding (and compression) of server responses using the Accept-Encoding request header and the Content-Encoding response header. Registered content encodings include in addition to the default uncompressed identity encoding a number of compressed encodings: gzip, compress and deflate. A client can specify one or more encodings to use in a response along with its preference for each using Accept-Encoding, and the server responds accordingly, per the HTTP specification. If the server does not support a requested encoding, it is recommended the server return a 406 (Not Acceptable) status code.

POST /MyPath HTTP/1.1 Content-Length: 420 Content-Type: application/xml;charset="utf-8" Accept-Encoding: gzip Host: sifinfo.org:8000 <SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> ... </SIF_Message>
Example 3.3.7.3-1: SIF client requesting compression of response
HTTP/1.1 200 OK Content-Length: 24 Content-Type: application/xml;charset="utf-8" Content-Encoding: gzip Date: Wed, 25 Apr 2007 23:32:00 GMT Server: SIFZIS ...compressed SIF_Ack...
Example 3.3.7.3-2: SIF server returning compressed SIF_Ack

The content encoding of any HTTP entity body, either in a request or a response, is indicated using the Content-Encoding header, which is considered a modifier to the Content-Type header. A client may compress or apply an encoding to the body of an HTTP request and indicate it has done so with an appropriate Content-Encoding value. It is recommended that a server that cannot or will not accept a particular encoding return a 415 (Unsupported Media Type) status code.

POST /MyPath HTTP/1.1 Content-Length: 149 Content-Type: application/xml;charset="utf-8" Content-Encoding: gzip Host: sifinfo.org:8000 ...compressed SIF_Message...
Example 3.3.7.3-3: SIF client sending compressed SIF_Message
POST /MyPath HTTP/1.1 Content-Length: 149 Content-Type: application/xml;charset="utf-8" Content-Encoding: gzip Accept-Encoding: gzip Host: sifinfo.org:8000 ...compressed SIF_Message...
Example 3.3.7.3-4: SIF client sending compressed SIF_Message and requesting compression of response

With these HTTP-defined headers, SIF Agents and Zone Integration Servers have the ability to compress or negotiate compression of SIF HTTP(S) request and response entity bodies using any version of SIF where the transport protocol is SIF HTTPS or SIF HTTP. However, to increase interoperability of Agents and Zone Integration Servers that wish to compress requests or receive compressed responses beyond the level of trial and error in an environment where server status codes are not guaranteed, the following mechanisms were developed in SIF Implementation Specification Version 2.1.

3.3.7.4 SIF_Protocol/SIF_Property Accept-Encoding

In both SIF_Register and SIF_ZoneStatus the following SIF_Property is defined when used in conjunction with a SIF_Protocol/@Type value of HTTPS or HTTP:

SIF_NameSIF_Value
Accept-EncodingAn Accept-Encoding header value as per HTTP 1.1 [RFC 2616].

This property indicates that an HTTP(S) server can accept corresponding content encodings with an appropriate Content-Encoding header value.

<SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://www.sifinfo.org/sifagent/MyAgent/</SIF_URL> <SIF_Property> <SIF_Name>Accept-Encoding</SIF_Name> <SIF_Value>gzip</SIF_Value> </SIF_Property> </SIF_Protocol>
Example 3.3.7.4-1: SIF_Protocol with Accept-Encoding indicating acceptance of gzip (and identity)
<SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://www.sifinfo.org/sifagent/MyAgent/</SIF_URL> <SIF_Property> <SIF_Name>Accept-Encoding</SIF_Name> <SIF_Value>gzip;q=1.0, identity;q=0.5, *;q=0</SIF_Value> </SIF_Property> </SIF_Protocol>
Example 3.3.7.4-2: SIF_Protocol with Accept-Encoding indicating no acceptance of encodings other than gzip or identity, gzip preferred over identity

The recommended compression algorithm for use in SIF is gzip. It is NOT RECOMMENDED that the identity (uncompressed) encoding ever be explicitly excluded in the Accept-Encoding SIF_Property.

3.3.7.5 HTTP Client Requirements

A client (ZIS, Push- or Pull-Mode Agent) that wishes to receive a compressed response MUST include an Accept-Encoding header, per HTTP 1.1, and MUST be prepared to handle a 406 (Not Acceptable) or other HTTP error, in which case the client SHOULD assume compression using the specified algorithm(s) is not supported and retry communication as per SIF HTTPS Transport or SIF HTTP Transport above. Clients MUST be prepared to receive identity-encoded (unencoded) responses unless the client explicitly excludes identity in its Accept-Encoding header, which is NOT RECOMMENDED.

Zone Integration Servers MAY consult a Push-Mode Agent's registered SIF_Protocol/SIF_Property value where SIF_Name is Accept-Encoding before contacting the Agent and SHOULD assume that posting a corresponding encoded entity body accompanied by the applicable Content-Encoding header value will be processed without content encoding support errors by the Agent.

Push- and Pull-Mode Agents MAY consult a Zone's supported compression algorithms in the SIF_ZoneStatus/SIF_SupportedProtocols/SIF_Protocol/SIF_Property entitled Accept-Encoding in SIF_Name before contacting the Zone Integration Server and SHOULD assume that posting a corresponding encoded entity body accompanied by the applicable Content-Encoding header value will be processed without content encoding support errors by the ZIS.

3.3.7.6 HTTP Server Requirements

A server (ZIS or Push-Mode Agent) that receives an HTTP request with an Accept-Encoding header MUST process the request per HTTP 1.1's Accept-Encoding specification. It is RECOMMENDED that servers return a 406 (Not Acceptable) status when a requested encoding cannot be negotiated.

A server that receives an HTTP request with a Content-Encoding header specified MUST process the request per HTTP 1.1's Content-Encoding specification. It is RECOMMENDED that servers unable to process a particular content encoding return a 415 (Unsupported Media Type) status code.

3.3.7.7 Push-Mode Agent Requirements

A Push-Mode Agent that wishes to receive compressed/encoded requests from the ZIS MUST register its preference with the ZIS in the SIF_Register/SIF_Protocol property entitled Accept-Encoding in SIF_Name, providing an Accept-Encoding value in SIF_Value per HTTP 1.1 (the recommended compression algorithm for SIF is gzip). The Agent MUST be prepared to handle an error SIF_Ack from the ZIS when registering Accept-Encoding (SIF_Error/SIF_Category of 5 [Registration], SIF_Error/SIF_Code value of 10) if the ZIS cannot support at least one specified encoding and SHOULD re-attempt registration without Accept-Encoding.

Upon successful registration of an Accept-Encoding value, the Agent SHOULD expect to receive requests from the ZIS encoded accordingly, but it MAY received identity-encoded (unencoded) requests unless identity was explicitly excluded in the registered Accept-Encoding value.

3.3.7.8 Zone Integration Server Requirements

A Zone Integration Server that receives a SIF_Register/SIF_Protocol/SIF_Property named Accept-Encoding in SIF_Name must fail the attempt to register if the ZIS does not support at least one of the specified encodings (SIF_Error/SIF_Category of 5 [Registration], SIF_Error/SIF_Code value of 10). While this property is typically registered by Push-Mode Agents, Pull-Mode Agents may also specify this property when registering. A ZIS SHOULD compress requests when contacting a Push-Mode Agent if the Agent has previously registered that preference, but it MAY send uncompressed requests if the Push-Mode Agent did not explicitly exclude the identity encoding in its registered Accept-Encoding value.

Zone Integration Servers that support handling of compressed/encoded requests SHOULD return an Accept-Encoding header SIF_Value in the SIF_ZoneStatus/SIF_SupportedProtocols/SIF_Protocol/SIF_Property named Accept-Encoding in SIF_Name.

4 Messaging

This section documents the messaging and message handling protocols defined in SIF. A messaging protocol consists of sending a SIF_Message to initiate an operation, receiving back a SIF_Ack; a message handling protocol consists of processing an incoming SIF_Message and responding with a SIF_Ack and possibly sending follow-up SIF_Messages. This section is independent of transport layer details, aside from encryption and authentication level impacts associated with individual messages. Unless otherwise noted, all protocols assume successful communication over the appropriate transport layer; agent and ZIS implementations should also be prepared to handle transport layer errors and exceptions, directly or wrapped in a SIF_Ack/SIF_Error by underlying code.

4.1 Agent Protocols

4.1.1 Agent Messaging Protocols

This section documents how Agents should send individual messages, and the resulting post-conditions upon success or failure, along with any necessary steps to take. These correspond to each of the operations an Agent can initiate.

4.1.1.1 SIF_Register

An Agent must register with the ZIS to participate in a Zone. To do so, it sends a SIF_Register message. An Agent may at any time re-register by sending another SIF_Register message. The ZIS updates the Agent's registered settings accordingly.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Register message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place your Agent's name, supported versions and maximum buffer size for receiving messages into SIF_Name, SIF_Version and SIF_MaxBufferSize, respectively. Specify whether your Agent is Push- or Pull-mode in SIF_Mode. If SIF_Mode is Push, specify the protocol information for the ZIS to use when delivering messages to your agent in SIF_Protocol; optional compression settings may be included in the Accept-Encoding SIF_Protocol/SIF_Property. If desired, supply optional information regarding your Agent and/or application in SIF_NodeVendor, SIF_NodeVersion, SIF_Application and SIF_Icon. Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now registered in the Zone. The Access Control settings for your agent (SIF_AgentACL are in SIF_Status/SIF_Data).Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Note particularly category 5. If an Accept-Encoding  SIF_Protocol/SIF_Property was specified, the ZIS may return error code 10 (ZIS does not support the requested Accept-Encoding value). Your agent SHOULD re-attempt registration without, or with another, Accept-Encoding value.Messaging protocol complete (failure).
Table 4.1.1.1-1: SIF_Register Protocol

4.1.1.2 SIF_Unregister

An Agent removes itself from a Zone by sending a SIF_Unregister message to the ZIS. Successful completion of this operation removes all settings associated with the Agent, including the objects it is currently providing and subscribed to in the zone; the Agent's message queue is also deleted. Note that a successful SIF_Unregister message may, depending on the ZIS implementation, remove access control settings that have been manually configured by a Zone administrator and that may need to be re-configured for a subsequent successful SIF_Register.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Unregister message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply.Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now removed from the Zone.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.2-1: SIF_Unregister Protocol

4.1.1.3 SIF_Provide

An Agent registers with the ZIS to be the default Responder, or Provider, for one or more SIF objects in one or more contexts by sending a SIF_Provide message to the ZIS. The Agent must have access control rights at the ZIS to successfully register as a Provider for an object.

Note that upon successful completion of SIF_Provide that your Agent is still the Provider of any objects for which it was previously registered as the Provider. To unregister as the Provider of given objects, use SIF_Unprovide. To replace all objects your Agent provides in one operation, use SIF_Provision.

As of version 2.0 of this specification, SIF_Provision is the preferred method for registering an Agent as a Provider, and provisioning an Agent in general. Support for SIF_Provide may be removed in a future major release of this specification.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Provide message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. For each object your Agent would like to provide, place a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted). Your Agent's support for SIF_ExtendedQuery can be specified in SIF_ExtendedQuerySupport for each object. Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now the Provider of each of the objects specified in the SIF_Provide message, in the applicable context(s). Any request sent by an Agent for one of these objects without explicitly specifying a particular Responder in SIF_Header/SIF_DestinationId will be placed in your Agent's message queue.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Note particularly category 4, code 3 (no permission to provide) and category 6, code 4 (object already has a Provider).Messaging protocol complete (failure).
Table 4.1.1.3-1: SIF_Provide Protocol

4.1.1.4 SIF_Unprovide

Your Agent unregisters with the ZIS as the default Responder, or Provider, for one or more SIF objects in one or more contexts by sending a SIF_Unprovide message to the ZIS. Note that any SIF_Requests for these objects already pending in your Agent's queue will still be delivered.

As of version 2.0 of this specification, SIF_Provision is the preferred method for unregistering an Agent as a Provider, and provisioning an Agent in general. Support for SIF_Unprovide may be removed in a future major release of this specification.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Unprovide message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. For each object your Agent would like to provide, include a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted).Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is no longer the Provider of each of the objects specified in the SIF_Unprovide message, in the applicable context(s). SIF_Requests will no longer be routed to your Agent by default, but this does not prevent other Agents from sending requests directly to your Agent (if permitted by access control rights).Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.4-1: SIF_Unprovide Protocol

4.1.1.5 SIF_Subscribe

An Agent registers with the ZIS to receive SIF_Events for one or more SIF objects in one or more contexts by sending a SIF_Subscribe message to the ZIS. The Agent must have access control rights at the ZIS to successfully subscribe to events for an object.

Note that upon successful completion of SIF_Subscribe that your Agent is still subscribed to objects to which it had previously subscribed. To unregister as a Subscriber of given objects, use SIF_Unsubscribe. To replace all objects to which your Agent subscribes in one operation, use SIF_Provision.

As of version 2.0 of this specification, SIF_Provision is the preferred method for registering an Agent as a Subscriber, and provisioning an Agent in general. Support for SIF_Subscribe may be removed in a future major release of this specification.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Subscribe message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. For each object your Agent would like to subscribe to, place a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted).Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now subscribed to each of the objects specified in the SIF_Subscribe message, in the specified context(s) if included. Any SIF_Events for these objects will be placed in your Agent's queue.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Note particularly category 4, code 4 (no permission to subscribe).Messaging protocol complete (failure).
Table 4.1.1.5-1: SIF_Subscribe Protocol

4.1.1.6 SIF_Unsubscribe

To stop receiving SIF_Events for one or more objects in one or more contexts, an Agent sends a SIF_Unsubscribe message to the ZIS. Note that if there are events already pending in your Agent's queue for these objects, they will still be delivered after a successful SIF_Unsubscribe.

As of version 2.0 of this specification, SIF_Provision is the preferred method for unregistering an Agent as a Subscriber, and provisioning an Agent in general. Support for SIF_Unsubscribe may be removed in a future major release of this specification.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_Unsubscribe message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. For each object your Agent would like to cease receiving events, include a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted).Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now unsubscribed from each of the objects specified in the SIF_Unsubscribe message, in the applicable context(s). SIF_Events for these objects will cease to be placed in your Agent's queue.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.6-1: SIF_Unsubscribe Protocol

4.1.1.7 SIF_Provision

The SIF_Provision message provides an Agent the ability to register the objects it provides and to which it subscribes in a single operation, replacing whatever settings the ZIS has on record for the Agent. In effect it is an alternative to SIF_Provide, SIF_Unprovide, SIF_Subscribe and SIF_Unsubscribe, though an Agent may choose to use this message or those, or a combination of these messages.

This message also allows the Agent to fully describe the operations it will perform in a Zone beyond those that can be communicated with SIF_Provide and SIF_Subscribe, including the types of events it will publish, the requests to which it will respond with or without being the Provider for requested objects, and the objects for which it sends requests.

The Agent must have the appropriate access control settings to successfully register any of the corresponding information included in SIF_Provision. Note that the list of access control settings can be determined by examining the SIF_AgentACL object returned in the SIF_Register or SIF_GetAgentACL message protocols.

Note that SIF_Provision will also fail if the Agent is attempting to provide an object that is already provided by another Agent in the applicable Zone Context. The list of Providers in a Zone can be found in SIF_ZoneStatus.

As of version 2.0 of this specification, SIF_Provision is the preferred method for provisioning an Agent. Support for SIF_Subscribe, SIF_Unsubscribe, SIF_Provide and SIF_Unprovide may be removed in a future major release of this specification.

StepProcessFlow Control
1

Prepare a SIF_Message/SIF_Provision message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply.

Include SIF_ProvideObjects and for each object your Agent would like to provide, place a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted). Your Agent can also state its support for SIF_ExtendedQuery in SIF_ExtendedQuerySupport, which defaults to false.

Include SIF_SubscribeObjects and for each object to which your Agent would like to subscribe, place a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted).

Include SIF_PublishAddObjects, SIF_PublishChangeObjects and SIF_PublishDeleteObjects elements and include a SIF_Object element with an ObjectName in the respective sections for each event type your agent publishes with regard to that oject. Optionally specify for each object one or more SIF_Context names (which default to SIF_Default if omitted).

Include SIF_RequestObjects and for each object your Agent requests, place a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted). Your Agent can also state its support for SIF_ExtendedQuery in SIF_ExtendedQuerySupport, which defaults to false.

Include SIF_RespondObjects and for each object for which your Agent processes requests (including those listed in SIF_ProvideObjects), include a SIF_Object element with an ObjectName and optionally one or more SIF_Context names (which default to SIF_Default if omitted). Your Agent can also state its support for SIF_ExtendedQuery in SIF_ExtendedQuerySupport, which defaults to false.

Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent is now registered with the corresponding settings in the Zone. Any previously recorded settings with regard to the operations your Agent performs have been replaced.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.7-1: SIF_Provision Protocol

4.1.1.8 SIF_Event

When an application adds, changes or deletes data represented in one or more Zone Contexts, its Agent SHOULD publish the corresponding Add, Change or Delete SIF_Event to the Zone. Upon successful delivery of a SIF_Event to the ZIS, the ZIS places the event in the queue for any Agents subscribed to events for the object, including your Agent if it is a subscriber.

StepProcessFlow Control
1

Prepare a SIF_Message/SIF_Event message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp. If your Agent would like to indicate minimum encryption and/or authentication requirements for Agents receiving this SIF_Event; supply SIF_Security with the appropriate settings; use an equally secure channel when communicating with the ZIS, if desired. If this event specifically applies to one or more contexts, place them in SIF_Contexts; if omitted, the context is SIF_Default.

Specify the name of the object that is being added, changed or deleted in SIF_EventObject/@ObjectName. Place the type of event in SIF_EventObject/@Action and place the object in SIF_EventObject. For an Add event, this MUST be the complete object with all mandatory elements present. If the agent wishes to indicate that a particular optional element is supported but has no value, the element MAY be included as empty, with xsi:nil set to true if necessary.

For a Change event, all unchanged elements, whether mandatory or optional SHOULD be omitted from the object. Optional elements that have been deleted MAY be included as empty, with xsi:nil set to true if necessary. For each list of repeatable elements in the object that has changed, include the whole list if the list type indicated is List. If the list type is ActionList, the agent MAY include only those elements in the list that have been added, changed or deleted. If an element has been deleted from an ActionList, the element MUST be included with at least its key attribute(s) and/or element(s) specified, and include a SIF_Action attribute value of Delete on the deleted child element in the list. Omitting an element in an ActionList indicates that it has been unchanged in the event. Refer to the Dat Model section of the specification, Lists/Repeatable Elements, for more details on ActionLists and Lists.

For a Delete event, only elements/attributes that identify the object sufficiently for deletion SHOULD be included. This set of identifying elements/attributes are typically communicated by the mandatory root attributes of an object, which MUST be included.

Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4The event has been successfully received by the ZIS. It will be placed in the queue of any Agents registered as subscribers to events for the given object.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.8-1: SIF_Event Protocol

4.1.1.9 SIF_Request

An Agent can request data from another Agent at any time by sending a SIF_Request message. Agents use one of two query mechanisms in requests. SIF's default query mechanism, SIF_Query, is used to request objects of a given type, matching optional query conditions, optionally returning a subset of object elements. SIF_ExtendedQuery is used to select elements from one or more objects, joined together, if necessary, on RefId-based conditions. Before delivering a request with a SIF_ExtendedQuery to a Responder, the ZIS checks that the Responder supports SIF_ExtendedQuery for all referenced objects.

StepProcessFlow Control
1

Prepare a SIF_Message/SIF_Request message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp. If your Agent would like to indicate minimum encryption and/or authentication requirements for Agents receiving this SIF_Request, supply SIF_Security with the appropriate settings; use an equally secure channel when communicating with the ZIS, if desired. If this request is associated with a context, specify a single SIF_Context in SIF_Contexts; if omitted, the context is SIF_Default. If your Agent would like to explicitly route this request to a given Agent, specify the Agent's ID in SIF_DestinationId. Specify the SIF versions the responder may choose from when returning data in SIF_Version. Each version specified MUST be registered at the ZIS as supported by your Agent. Specify the maximum buffer size the Responder must respect when sending SIF_Response packets; this MUST be less than or equal to the SIF_MaxBufferSize with which your Agent registered with the ZIS.

If using SIF_ExtendedQuery, go to step 3; otherwise go to step 2.

2In SIF_Query, specify the object name being requested in SIF_QueryObject/@ObjectName. Optionally specify the subset of elements/attributes to be returned from each object in SIF_QueryObject/SIF_Element; note that parent elements of specified elements/attributes are returned as well. If your Agent would like to specify query matching conditions, include SIF_ConditionGroup. Alternately an example of an object allowed for use in query-by-example can be placed in SIF_Example. Send SIF_Message to ZIS over appropriate transport. Go to step 4.
3Include a SIF_ExtendedQuery. If your Agent did not specify SIF_DestinationId, the SIF_Request will be routed to the Provider for SIF_From/@ObjectName. If your Agent would like to override this routing mechanism, include SIF_DestinationProvider set to the object name for which the ZIS will determine the Provider and route the request accordingly.Send SIF_Message to ZIS over appropriate transport.
4Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 8.
5Is SIF_Status/SIF_Code 0?If no, go to Step 7.
6The request has been successfully received by the ZIS. It will be placed in the queue of the appropriate Responder as specified in SIF_Header/SIF_DestinationId or determined by SIF_ExtendedQuery/SIF_From/@ObjectName or SIF_ExtendedQuery/SIF_DestinationProvider.Messaging protocol complete (success).
7Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
8Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.9-1: SIF_Request Protocol

4.1.1.10 SIF_Ping

An agent can "ping" the ZIS or check that it's online and/or "awake" by sending a SIF_Ping message to the ZIS. If the agent receives a successful acknowledgement, the ZIS is awake; the ZIS may also reply that it is asleep. As a ZIS may be offline completely, Agents should be prepared to handle transport errors directly or wrapped in a SIF_Ack/SIF_Error by underlying code.

StepProcessFlow Control
1 Prepare a SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Ping element in SIF_SystemControlData. Send SIF_Message to ZIS over appropriate transport.
2 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 8.
3 Is SIF_Status/SIF_Code 0? If no, go to Step 5.
4 The ZIS is awake. Messaging protocol complete (success).
5 Is SIF_Status/SIF_Code 8 (ZIS is asleep)? If no, go to Step 7.
6 The ZIS is asleep. Messaging protocol complete (success).
7 Messaging protocol has failed due to a SIF_Status/SIF_Code of 7 (your Agent sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
8 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Messaging protocol complete (failure).
Table 4.1.1.10-1: SIF_Ping Protocol

4.1.1.11 SIF_Sleep

A Push-mode Agent can send a SIF_Sleep message to the ZIS to change its state to "asleep," indicating that the ZIS should not send the Agent messages until it "wakes up" by sending a SIF_Wakeup message or re-registering with SIF_Register. A Pull-mode Agent can also changes it state to "sleeping," but this has no effect other than indicating to other Agents via SIF_ZoneStatus that it is "sleeping" and not processing messages in its queue. Sending a SIF_Wakeup or SIF_GetMessage will indicate that the Agent is "awake," as will re-registering with SIF_Register.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Sleep element in SIF_SystemControlData.Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent's state has been set to "asleep" in the ZIS. This is reflected to other Agents in SIF_ZoneStatus and if your Agent is a Push-mode Agent, the ZIS will stop delivering messages to your Agent. To "wake up," send a SIF_Wakeup message, or re-register with SIF_Register. Pull-mode Agents may also send SIF_GetMessage.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.11-1: SIF_Sleep Protocol

4.1.1.12 SIF_Wakeup

An Agent can send a SIF_Wakeup message to the ZIS to change its state to "awake," whether sleeping or not; this state is available to other Agents via SIF_ZoneStatus. Upon success, the ZIS may begin delivering messages to a Push-mode Agent again, if previously sleeping.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Wakeup element in SIF_SystemControlData.Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4Your Agent's state has been set to "awake" in the ZIS. This is reflected to other Agents in SIF_ZoneStatus and if your Agent is a Push-mode Agent and it was previously asleep, the ZIS will resume delivering messages to your Agent.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.12-1: SIF_Wakeup Protocol

4.1.1.13 SIF_GetZoneStatus

To retrieve the current status of the Zone (SIF_ZoneStatus), send a SIF_GetZoneStatus message to the ZIS.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_GetZoneStatus element in SIF_SystemControlData.Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4SIF_Status/SIF_Data contains the current status of the Zone in SIF_ZoneStatus.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.13-1: SIF_GetZoneStatus Protocol

4.1.1.14 SIF_GetAgentACL

To retrieve your Agent's current access control list settings from the ZIS (SIF_AgentACL), send a SIF_GetAgentACL message to the ZIS.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_GetAgentACL element in SIF_SystemControlData.Send SIF_Message to ZIS over appropriate transport.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 6.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4SIF_Status/SIF_Data contains your Agent's current access control list settings in the Zone in SIF_AgentACL.Messaging protocol complete (success).
5Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
6Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.14-1: SIF_GetAgentACL Protocol

4.1.1.15 SIF_CancelRequests

Agents can request that a ZIS cancel SIF_Requests, pending or in process, by sending a list of SIF_RequestMsgIds in a SIF_CancelRequests message. If an Agent abandons or restarts a data collection using SIF_Requests, whether or not the response stream has started, it is RECOMMENDED that the Agent send one or more SIF_CancelRequests messages to the ZIS. Such data collections can place a heavy load on responding Agents, where often all data of a specific object type is requested, and cancelling requests may spare Zone resources. Cancelling of responses can also reduce the number of response packets the receiving/cancelling agent needs to process and discard.

If the cancelling Agent wishes to receive a "final" SIF_Response from the ZIS for each cancelled message, it can specify Standard in SIF_CancelRequests/SIF_NotificationType. If the cancelling Agent does not desire or require "final" SIF_Responses, the Agent can specify None in SIF_NotificationType.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Add a SIF_CancelRequests element in SIF_SystemControlData. 
2Specify Standard in NotificationType if your Agent desires or requires a "final" SIF_Response be returned by the ZIS for each cancelled message (SIF_Response/SIF_MorePackets = No). Otherwise specify None. 
3Add a SIF_RequestMsgIds element and add a child SIF_RequestMsgId element for each SIF_Request that the Agent wishes to cancel.Send SIF_Message to ZIS over appropriate transport.
4Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 8.
5Is SIF_Status/SIF_Code 0?If no, go to Step 7.
6The ZIS has accepted the SIF_CancelRequests message. Your Agent will receive or not receive "final" SIF_Responses per the specified NotificationType.Messaging protocol complete (success).
7Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
8Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.15-1: SIF_CancelRequests Protocol

4.1.1.16 SIF_GetMessage (Pull-Mode only)

Pull-mode Agents retrieve the next message in their queue by sending a SIF_GetMessage message to the ZIS. Note that as individual messages may have specific minimum encryption/authentication levels attached to them by senders, a Pull-Mode Agent should always use the highest encryption/authentication levels it supports when contacting the ZIS to avoid individual messages being discarded when contacting the ZIS using lower encryption/authentication levels than might be required for receipt of a given message.

StepProcessFlow Control
1Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_GetMessage element in SIF_SystemControlData.Send SIF_Message to ZIS over appropriate transport. Always use the highest encryption/authentication levels that your Agent supports to maximize the number of messages that can be returned to your Agent.
2Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 7.
3Is SIF_Status/SIF_Code 0?If no, go to Step 5.
4SIF_Status/SIF_Data contains the next SIF_Message in your agent's queue.Messaging protocol complete (success). Process the returned SIF_Message according to Agent Message Handling Protocols below.
5Is SIF_Status/SIF_Code 9?If yes, there are no messages available for your Agent. Message processing complete (success).
6Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
7Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. If a Push-mode Agent sends SIF_GetMessage, note particularly category 5, code 9 (agent registered in Push mode).Messaging protocol complete (failure).
Table 4.1.1.16-1: SIF_GetMessage Protocol

4.1.1.17 SIF_Ack (Push-Mode)

Push-Mode Agents end Selective Message Blocking (SMB) by sending a final SIF_Ack to the ZIS.

StepProcessFlow Control
1 Prepare a SIF_Message/SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. From the message being unblocked/removed from the queue, place the SIF_Header/SIF_SourceId value into SIF_OriginalSourceId and place the SIF_Header/SIF_MsgId value into SIF_OriginalMsgId. Place 3 (final SIF_Ack) into SIF_Code/SIF_Data. Send SIF_Message to ZIS over appropriate transport.
2 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 6.
3 Is SIF_Status/SIF_Code 0? If no, go to Step 5.
4 The referenced message has been unblocked and removed from your Agent's queue. The ZIS resumes delivery of events to your Agent. Messaging protocol complete (success).
5 Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
6 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Messaging protocol complete (failure).
Table 4.1.1.17-1: SIF_Ack Protocol (Push-Mode)

4.1.1.18 SIF_Ack (Pull-Mode)

Pull-mode Agents acknowledge messages received in response to SIF_GetMessage and remove them from their queue by sending a SIF_Ack message to the ZIS. SIF_Ack is also sent by Pull-Mode Agents to invoke and end Selective Message Blocking (SMB).

StepProcessFlow Control
1 Prepare a SIF_Message/SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply.If your Agent is invoking SMB, go to Step 3. If your Agent is ending SMB, go to Step 4.
2 From the message being acknowledged/the message to be removed from the queue, place the SIF_Header/SIF_SourceId value into SIF_OriginalSourceId and place the SIF_Header/SIF_MsgId value into SIF_OriginalMsgId. Place 1 (immediate SIF_Ack) into SIF_Code/SIF_Data or an appropriate error description in SIF_Error. If your Agent indicates a transport error or places 8 (receiver is sleeping) into SIF_Code/SIF_Data, the message will be acknowledged but remain in your Agent's queue. Send SIF_Message to ZIS over appropriate transport. Go to Step 5.
3 From the SIF_Event being blocked, place the SIF_Header/SIF_SourceId value into SIF_OriginalSourceId and place the SIF_Header/SIF_MsgId value into SIF_OriginalMsgId. Place 2 (intermediate SIF_Ack) into SIF_Code/SIF_Data. Send SIF_Message to ZIS over appropriate transport. Go to Step 5.
4 From the SIF_Event being unblocked, place the SIF_Header/SIF_SourceId value into SIF_OriginalSourceId and place the SIF_Header/SIF_MsgId value into SIF_OriginalMsgId. Place 3 (final SIF_Ack) into SIF_Code/SIF_Data. Send SIF_Message to ZIS over appropriate transport.
5Receive SIF_Ack in response. Is SIF_Error present?If yes, go to Step 9.
6Is SIF_Status/SIF_Code 0?If no, go to Step 8.
7

If your Agent did not invoke or end SMB for a SIF_Event, the referenced message has been removed from your Agent's queue, unless your agent indicated a transport error or that it was sleeping (in which case the message has been acknowledged but remains in your Agent's queue).

If your Agent invoked SMB by sending an intermediate SIF_Ack, delivery of events is blocked until your Agent removes the SIF_Event from its queue by sending a final SIF_Ack. Your Agent will continue to receive SIF_Responses and SIF_Requests.

If your Agent ended SMB by sending a final SIF_Ack, the ZIS has removed the blocked event from your Agent's queue and resumes delivery of events to your Agent.

Messaging protocol complete (success).
8Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (ZIS is asleep) or 7 (your Agent sent a duplicate SIF_MsgId).Messaging protocol complete (failure).
9Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included.Messaging protocol complete (failure).
Table 4.1.1.18-1: SIF_Ack Protocol (Pull-Mode)

4.1.2 Agent Message Handling Protocols

This section documents how Agents should respond to incoming messages, and the resulting post-conditions upon success or failure, along with any necessary steps to take.

Note that in handling any SIF_Message, an Agent may return a SIF_Ack with SIF_Status/SIF_Code 8 (receiver is sleeping) or 7 (already have this SIF_MsgId from you) if a duplicate message is detected. These responses are typically omitted from the handling protocols below.

4.1.2.1 SIF_Message

Upon receipt of a generic message from the ZIS, in most cases it may be safely assumed that the message XML is well-formed, and perhaps even valid, but the Agent should take the following steps to determine whether the XML is well-formed, optionally validate the message, and check that the message is of a valid type before handing the message off to the respective message handling protocol below.

StepProcessFlow Control
1If your transport layer implementation rejects XML that is not well-formed and optionally that is invalid, go to Step 3, 5, 7 or 9 depending on the extent of that implementation. Otherwise, is the XML message well-formed?If yes, go to step 3.
2Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. If your Agent can scan the incoming message as UTF-8 encoded text to locate SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId, these values can be placed in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Otherwise include these elements with empty values, including an xsi:nil attribute value of true on SIF_OriginalMsgId. Include a SIF_Error element with a SIF_Category of 1 (XML Validation) and a SIF_Code of 2 (message is not well-formed).Go to step 12.
3Is the root element of the message unprefixed with a local name of SIF_Message?If yes, go to step 5.
4Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Error element with a SIF_Category of 1 (XML Validation) and a SIF_Code of 3 (generic validation error).Go to step 12.
5Is the namespace for SIF_Message a namespace of a major version of SIF your Agent supports? Is SIF_Message/@Version present with a value that your Agent supports? (If omitted, interpret SIF_Message/@Version as 1.1.)If yes, go to step 7.
6Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Error element with a SIF_Category of 12 (Generic Message Handling) and a SIF_Code of 3 (version not supported).Go to step 12.
7If your Agent does not validate messages, go to step 9. Otherwise choose a validation schema based on the value of SIF_Message/@Version. Does the message validate?If yes, go to step 9.
8Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Error element with a SIF_Category of 1 (XML Validation) and an appropriate SIF_Code from the corresponding choices in Error Codes.Go to step 12.
9If the namespace for SIF_Message is for a previous major version of SIF, handle according to the specification for SIF_Message/@Version. Otherwise, is the message type (the child element of SIF_Message) SIF_Event, SIF_Request, SIF_Response, SIF_Ping (Push-mode only), SIF_Sleep (Push-mode only), SIF_Wakeup (Push-mode only), or SIF_CancelRequests (Push-mode only and your Agent chooses to support this optional message)?If yes, go to step 11.
10Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Error element with a SIF_Category of 12 (Generic Message Handling) and a SIF_Code of 2 (message not supported).Go to step 12.
11Process per the corresponding message handling protocol below.Message handling is complete.
12If your Agent is a Push-mode Agent, return the SIF_Ack to the ZIS. If your Agent is a Pull-mode Agent send the SIF_Ack to the ZIS per SIF_Ack (Pull-Mode) above.Message handling is complete.
Table 4.1.2.1-1: SIF_Message Handling

4.1.2.2 SIF_Event

A ZIS places a SIF_Event in your Agent's queue when an event occurs in a Zone Context with regard to an object for which your agent has subscribed to receive events. A SIF_Event is delivered when it is the next message pending delivery in the queue.

An event may apply to one or more contexts; these are listed in SIF_Header/SIF_Contexts. If SIF_Contexts is not present, the context for the event is SIF_Default. The type of event is specified in SIF_EventObject/@Action, the corresponding data object is in SIF_EventObject. A Change or Delete event may contain a partial object, but it must include the necessary attribute(s) and element(s) to uniquely identify the object being changed or deleted. These keys/identifiers are typically communicated in the root attributes of an object.

StepProcessFlow Control
1 Does your Agent invoke Selective Message Blocking (SMB) for all events, or does this event indicate to your Agent that it will invoke SMB? If no, go to Step 3.
2

Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Place 2 (intermediate SIF_Ack) in SIF_Status/SIF_Code.

If your Agent is a Push-Mode Agent, return the SIF_Ack to the ZIS and commence sending the necessary requests as described in the SIF_Request protocol above to complete processing of the event per your Agent's business rules. When complete or if an error occurs, end SMB as described in the SIF_Ack (Push-Mode) protocol above.

If your Agent is a Pull-Mode Agent, send the SIF_Ack to the ZIS per SIF_Ack (Pull-Mode) above and commence sending the necessary requests as described in the SIF_Request protocol above to complete processing of the event per your Agent's business rules. When complete or if an error occurs, end SMB as described in the SIF_Ack (Pull-Mode) protocol above.

If an error occurs, it is RECOMMENDED that your Agent publish a SIF_LogEntry Add event.

Message handling complete.
3

If your Agent is a Pull-Mode Agent, process the event per your Agent's business rules. When complete or if an error occurs, acknowledge the message and remove it from your Agent's queue per SIF_Ack (Pull-Mode) above.

If your Agent is a Push-Mode Agent, it has one of two options: process the event, then acknowledge it; or acknowledge the event, then process it. The advantage of first processing the event is the ability to return a descriptive error, if necessary, to the ZIS when acknowledging the message. The disadvantage of first processing is that if the processing is long running, the connection from the ZIS to your Agent may time out, which will lead to the event being redelivered to your Agent in another delivery attempt, to possibly run into another time-out. To avoid the latter, it is RECOMMENDED that your Push-Mode Agent first acknowledge the event, then process it, unless event processing is known to always occur within a reasonable amount of time. Agents that first acknowledge then process SHOULD persist the event locally until processing is complete, as the event is removed from your Agent's queue upon successful acknowledgement, otherwise the event will be lost in the case of an application or system error that affects your Agent's ability to complete processing of the event.

Choose an option and process the event according to your Agent's business rules. When acknowledging: Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Place 1 (immediate SIF_Ack) in SIF_Status/SIF_Data in the case of successful procssing, and return the SIF_Ack to the ZIS. If an error has occurred, include a SIF_Error element with an appropriate SIF_Category and SIF_Code and describe the error as needed in SIF_Desc and optionally SIF_ExtendedDesc. Note that indicating a transport error will not remove the message from your Agent's queue, only acknowledge it. The same action can be accomplished indicating 8 (receiver is sleeping) in SIF_Status/SIF_Code.

If an error occurs regardless of the option chosen, it is RECOMMENDED that your Agent publish a SIF_LogEntry Add event.

Message handling complete
Table 4.1.2.2-1: SIF_Event Handling

4.1.2.3 SIF_Request

A ZIS places a SIF_Request in your Agent's queue when an Agent sends a request directly to your Agent, or when an Agent sends a request without a SIF_DestinationId and your agent is registered as the Provider for the object requested in SIF_Query, or in the case of SIF_ExtendedQuery when your agent is registered as the Provider of the object specified by the Requester in SIF_ExtendedQuery/SIF_DestinationProvider or SIF_ExtendedQuery/SIF_From/@ObjectName. The ZIS will not send your Agent a SIF_ExtendedQuery unless your Agent has registered its support for that query type using SIF_Provide or SIF_Provision. A SIF_Request is delivered when it is the next message pending delivery in your Agent's queue.

Any error that occurs while generating SIF_Responses during SIF_Request handling MUST be sent to the Requester with SIF_MorePackets set to No, at which point the response stream ends.

StepProcessFlow Control
1Examine SIF_Header/SIF_Contexts to determine the context for the request; if none is specified, the context is SIF_Default.Go to Step 3 if the context is supported.
2

Prepare a SIF_Response message with a copy of SIF_Contexts, SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate General Message Handling and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the requested context is not supported.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Message handling complete.
3Examine the SIF_Version element or elements specified in the SIF_Request message. If more than one version is supported, select the highest version number supported.Go to Step 5 if a version is supported.
4

Prepare a SIF_Response message with a copy of SIF_Contexts, SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the requested SIF_Versions are not supported.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Message handling complete.
5Examine the SIF_MaxBufferSize specified in the SIF_Request message.Go to Step 7 if it is greater than or equal to the minimum buffer size your Agent can support. (The buffer size of individual packets will be handled below).
6

Using the SIF version selected in Step 1, prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the SIF_MaxBufferSize cannot be honored.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Message handling complete.
7Is SIF_ExtendedQuery specified?If yes, go to Step 10.
6The query type is SIF_Query. Examine the object name being queried in SIF_QueryObject/@ObjectName.Go to Step 8 if the object is supported.
7

Prepare a SIF_Response message using the version chosen in Step 1 with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the object is not supported.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Stop processing the message.
8Examine the query represented, if any, by SIF_ConditionGroup, or SIF_Example in the case of objects that support query-by-example, and determine whether it is supported.Go to Step 12 if neither SIF_ConditionGroup nor SIF_Example is present, or if the query represented by SIF_ConditionGroup or SIF_Example is supported.
9

Prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the query is not supported.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Stop processing the message.
10Examine the query represented by SIF_ExtendedQuery, and determine whether it is supported. Go to Step 12 if the query is supported.
11

Prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the query is not supported.

Add SIF_PacketNumber with a value of 1 and set SIF_MorePackets to No.

Send the SIF_Response to the original requester and acknowledge the error to the ZIS.

Stop processing the message.
12

Note that Push-Mode Agents should acknowledge receipt of the SIF_Request as response generation is typically a long-running operation that will typically lead to HTTP time-outs. As the request will be removed from the Agent's queue, it is RECOMMENDED that the Push-Mode Agent persist the request and its SIF_PacketNumber while generating responses, in case of an application or system failure that prevents it from completing the request processing; upon restarting, the Agent can end the response stream with a SIF_Error, SIF_PacketNumber set to the last successfully transmitted SIF_PacketNumber + 1 and SIF_MorePackets set to No.

If a Push-Mode Agent elects to successfully acknowledge the request before processing, it can do so. Otherwise it should acknowledge receipt of the request upon completion of response generation.

Pull-Mode Agents can choose to acknowledge receipt of the request here or at the end of response generation.

Initialize packet counter to 1.

13Prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message. When handling SIF_ExtendedQuery, copy the requested columns into SIF_ExtendedQueryResults/SIF_ColumnHeaders.
14Add one or more of the matching objects into SIF_ObjectData, for SIF_Query, or rows into SIF_ExtendedQueryResult, for SIF_ExtendedQuery, until no more will fit within the specified buffer size. If no objects or rows will fit within SIF_MaxBufferSize, go to Step 15 with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that SIF_MaxBufferSize cannot be honored. Otherwise, note that only requested columns are returned when processing SIF_ExtendedQuery. When processing SIF_Query, if the requester specified only certain elements be returned, that the Responder needs to return only those elements and their parent elements and attributes. Not supporting a requested element/attribute does not exclude the object from the response stream; include the parent elements/attributes of any missing elements, including the object itself. If no errors occur in retrieving/adding matching objects, go to step 16.
15Set SIF_PacketNumber to the current packet counter and SIF_MorePackets to No. Add an appropriate SIF_Error element to the SIF_Response and send the SIF_Response to the ZIS.Go to Step 19.
16Set SIF_PacketNumber to the current packet counter value and set SIF_MorePackets appropriately. Send the SIF_Response to the ZIS.
17Examine the SIF_Ack returned by the ZIS.If an error occurred, stop processing the SIF_Request message. Go to Step 19.
18Determine if more objects or rows match the specified conditions.If yes, increment the packet counter and go to Step 13; otherwise, go to Step 19.
19If your Agent has not yet acknowledged receipt of the incoming request, acknowledge successful receipt of the request, or return a descriptive error to the ZIS.Message handling complete.
Table 4.1.2.3-1: SIF_Request Handling

4.1.2.4 SIF_Response

A ZIS places a SIF_Response in your Agent's queue when a responder sends a response packet to your Agent per a SIF_Request previously sent by your Agent. It is delivered when it is the next message available for delivery to your Agent.

StepProcessFlow Control
1SIF_RequestMsgId indicates which of your SIF_Requests this packet is in response to. Is SIF_Error present? If no, go to Step 3.
2

The Responder's handling of your Agent's SIF_Request has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. this is the last packet your Agent will receive associated with that request.

If your Agent is a Pull-Mode Agent, acknowledge the message per SIF_Ack (Pull-Mode) above.

If your Agent is a Push-Mode Agent: Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Place 1 (immediate SIF_Ack) in SIF_Status/SIF_Data, and return the SIF_Ack to the ZIS.

Message handling complete. Any resources associated with the request can be released.
3

If your Agent is a Pull-Mode Agent, process the response per your Agent's business rules. When complete or if an error occurs, acknowledge the message and remove it from your Agent's queue per SIF_Ack (Pull-Mode) above.

If your Agent is a Push-Mode Agent, it has one of two options: process the response, then acknowledge it; or acknowledge the response, then process it. The advantage of first processing the response is the ability to return a descriptive error, if necessary, to the ZIS when acknowledging the message. The disadvantage of first processing is that if the processing is long running, the connection from the ZIS to your Agent may time out, which will lead to the response being redelivered to your Agent in another delivery attempt, to possibly run into another time-out. To avoid the latter, it is RECOMMENDED that your Push-Mode Agent first acknowledge the response, then process it, unless response processing is known to always occur within a reasonable amount of time. Agents that first acknowledge then process SHOULD persist the response locally until processing is complete, as the response is removed from your Agent's queue upon successful acknowledgement, otherwise the response will be lost in the case of an application or system error that affects your Agent's ability to complete processing of the response.

Choose an option and process the response according to your Agent's business rules. When acknowledging: Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Place 1 (immediate SIF_Ack) in SIF_Status/SIF_Data in the case of successful procssing, and return the SIF_Ack to the ZIS. If an error has occurred, include a SIF_Error element with an appropriate SIF_Category and SIF_Code and describe the error as needed in SIF_Desc and optionally SIF_ExtendedDesc. Note that indicating a transport error will not remove the message from your Agent's queue, only acknowledge it. The same action can be accomplished indicating 8 (receiver is sleeping) in SIF_Status/SIF_Code.

If an error occurs regardless of the option chosen, it is RECOMMENDED that your Agent publish a SIF_LogEntry Add event.

Message handling complete. If SIF_MorePackets is No, this is the last packet associated with the request your Agent will receive; any resources associated with the request can be released.
Table 4.1.2.4-1: SIF_Event Handling

4.1.2.5 SIF_Ping (Push-Mode only)

The ZIS is pinging your Agent to see if it is reachable, "awake" and/or processing messages.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. If your Agent is "awake," include a SIF_Status element with a SIF_Code of 1 (immediate SIF_Ack). Otherwise you may optionally notify the ZIS that your Agent is asleep by returning a SIF_Code of 8 (receiver is sleeping).  
2 Return the SIF_Ack to the ZIS. Message processing complete (success).
Table 4.1.2.5-1: SIF_Ping Handling

4.1.2.6 SIF_Sleep (Push-Mode only)

The ZIS has changed its state to "asleep" and is either not processing incoming messages or all incoming messages will be acknowledged with a SIF_Ack/SIF_Status/SIF_Code value of 8 (receiver is sleeping); delivery of queued messages to your Agent is halted. Your Agent SHOULD avoid sending messages to the ZIS until receipt of a SIF_Wakeup message, or be prepared to handle transport errors or the aforementioned acknowledgement.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 1 (immediate SIF_Ack). Change your Agent's ZIS state to "asleep."  
2 Return the SIF_Ack to the ZIS. Message processing complete (success).
Table 4.1.2.6-1: SIF_Sleep Handling

4.1.2.7 SIF_Wakeup (Push-Mode only)

The ZIS has changed its state to "awake" and is processing incoming messages and delivering queued messages again.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 1 (immediate SIF_Ack). Change your Agent's ZIS state to "awake."  
2 Return the SIF_Ack to the ZIS. Message processing complete (success).
Table 4.1.2.7-1: SIF_Wakeup Handling

4.1.2.8 SIF_CancelRequests (Push-Mode only) (optional)

A ZIS is requesting that your Agent cancel processing of one or more SIF_Request messages. Support for handling of this message is currently optional for Push-Mode Agents. If your Agent does not support SIF_CancelRequests, it returns a Generic Message Handling error upon receipt of the SIF_SystemControl message, error code "Message not supported," per the SIF_Message handling protocol.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Agent's Agent ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 1 (immediate SIF_Ack).  
2 If your Agent is currently preparing SIF_Response packets for any of the SIF_Request messages specified in the SIF_RequestMsgId element(s), stop processing the request(s). If your Agent has any of the specified SIF_Requests queued locally, remove them from the agent local queue.  
3 Return the SIF_Ack to the ZIS. Message processing complete (success).
Table 4.1.2.8-1: SIF_CancelRequests Handling

4.2 ZIS Protocols

4.2.1 ZIS Messaging Protocols

This section documents how Zone Integration Servers send individual messages, and the resulting post-conditions upon success or failure, along with any necessary steps to take. These correspond to each of the actions a Zone Integration Server can initiate.

4.2.1.1 SIF_Message Delivery (SIF_Event, SIF_Request, SIF_Response to a Push-mode Agent)

A ZIS contacts a Push-Mode Agent to deliver SIF_Event, SIF_Request and SIF_Response messages queued for the Agent. This delivery protocol starts with a check on whether there are messages pending, as the protocol can loop as messages are delivered.

StepProcessFlow Control
1 Are there messages queued for the Agent? If yes, go to Step 2. Otherwise messaging protocol complete (success).
2 Is the state of the Agent "asleep?" If yes, the ZIS SHOULD wait until the Agent sends a SIF_Wakeup message or re-registers in Push mode before attempting message delivery. Otherwise the ZIS MUST be prepared to handle transport errors/exceptions and/or the Agent responding with a SIF_Status/SIF_Code of 8 (receiver is sleeping). If no, go to Step 3. Otherwise messaging protocol complete (success).
3 Has the Agent previously invoked SMB? If no, go to Step 6.
4 Iterate through the Agent's queue from the message received first to the most recently received message. Stop at the first SIF_Response or SIF_Request in the queue, if one exists. If one exists, it is the next message to be delivered. Go to Step 7.
5 The only messages queued for the Agent are SIF_Events; try again later, or after a SIF_Response or SIF_Request arrives, or after the Agent has ended SMB by sending a final SIF_Ack. Messaging protocol complete (no message needs to be delivered).
6 The next message to be delivered is the message received first in the Agent's queue.
7 Is SIF_Header/SIF_Security present in the SIF_Message with SIF_EncryptionLevel, SIF_AuthenticationLevel, or both? If no, the message delivery encryption/authentication levels are the minimum encryption/authentication levels set up for the Zone. Go to Step 9.
8 The ZIS MUST guarantee that the minimum encryption and/or authentication levels specified are respected when delivering this message. Use the higher of these and the Zone's minimum encryption and/or authentication levels during message delivery.
9 If a connection is already open to the Push-Mode Agent from a previously delivered message, are the encryption and authentication levels greater than or equal to those needed for the delivery of this message? If there is no connection open, go to Step 11. If there is and the encryption/authentication levels are adequate for delivery, go to Step 13.
10 Attempt to renegotiate the encryption/authentication levels for the connection, or close the connection and attempt to open a new connection with adequate encryption/authentication levels. Go to Step 12.
11 If the registered transport layer is known to not provide adequate encryption/authentication levels (e.g. SIF HTTP), go to Step 12. Otherwise attempt to open a connection to the Agent with adequate encryption/authentication levels, using the appropriate transport layer.
12 Was a connection opened or renegotiated with adequate encryption/authentication levels? If no, the message cannot be delivered; remove it from the Agent's queue. It is RECOMMENDED that your ZIS log the error. Your ZIS MUST post a SIF_LogEntry  Add event with the appropriate error category and code, containing a copy of the SIF_Header of the queued message. SIF_LogEntry/SIF_Desc MUST contain the SIF_SourceId of the Agent that failed to receive the message. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (error).
13 Send the message to the Agent over the connection.
14 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 24.
15 Is SIF_Status/SIF_Code 1 (immediate SIF_Ack)? If no, go to Step 17.
16 The Agent has successfully acknowledged receipt of the message; remove it from the Agent's queue. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (success).
17 Is SIF_Status/SIF_Code 2 (intermediate SIF_Ack)? If no, go to Step 21.
18 The Agent is invoking SMB. Is the delivered message a SIF_Event? If yes, go to Step 20.
19 The Agent has violated protocol; remove the message from the Agent's queue. It is RECOMMENDED that your ZIS log the error. Your ZIS MUST post a SIF_LogEntry  Add event with the appropriate error category of 13 (SMB Error) and code 2 (SMB can only be invoked for SIF_Event), containing a copy of the SIF_Header of the queued message. SIF_LogEntry/SIF_Desc MUST contain the SIF_SourceId of the Agent that committed the protocol error. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (error).
20 The Agent has invoked SMB on this SIF_Event. Persist that the Agent has invoked SMB along with the SIF_MsgId of the event. The event stays in the agent's queue as blocked, and all other events are frozen until the Agent eventually ends SMB by sending a final SIF_Ack with this SIF_MsgId in SIF_OriginalMsgId, or by sending a SIF_Wakeup or by re-registering. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (success).
21 Is SIF_Status/SIF_Code 8 (receiver is sleeping)? If no, go to Step 23.
22 The Agent is asleep. Re-attempt delivery later. Messaging protocol complete (success).
23 Messaging protocol has failed due to a SIF_Status/SIF_Code of 7 (already have this SIF_MsgId). The ZIS cannot correct this, as the SIF_MsgId originates from an Agent and can't be changed without other repercussions. Remove the message from the Agent's queue. It is RECOMMENDED that your ZIS log the error. Your ZIS MUST post a SIF_LogEntry  Add event with the appropriate error category and code, containing a copy of the SIF_Header of the queued message. SIF_LogEntry/SIF_Desc MUST contain the SIF_SourceId of the Agent that did not receive the message. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (error).
24 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. If SIF_Category does not indicate a transport error, remove the message from the Agent's queue. Otherwise re-attempt delivery of this message later. It is RECOMMENDED that your ZIS log the error. Your ZIS MAY post a SIF_LogEntry  Add event with the appropriate error category and code, containing a copy of the SIF_Header of the queued message. SIF_LogEntry/SIF_Desc MUST contain the SIF_SourceId of the Agent that indicated the error. Go to Step 1 to start delivery of the next queued message, if desired. Otherwise messaging protocol complete (error).
Table 4.2.1.1-1: SIF_Message Delivery Protocol

4.2.1.2 SIF_Ping (to a Push-mode Agent)

A ZIS can "ping" a Push-Mode Agent or check that it's "awake" by sending a SIF_Ping message to the Agent. If the Agent returns a successful acknowledgement, it is awake; the Agent may also reply that it is asleep. As a Push-Mode Agent may be offline completely, Zone Integration Servers should be prepared to handle transport errors directly or wrapped in a SIF_Ack/SIF_Error by underlying code.

StepProcessFlow Control
1 Prepare a SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, the Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Ping element in SIF_SystemControlData. Send SIF_Message to Agent over appropriate transport.
2 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 8.
3 Is SIF_Status/SIF_Code 1? If no, go to Step 5.
4 The Agent is awake. Messaging protocol complete (success).
5 Is SIF_Status/SIF_Code 8 (receiver is sleeping)? If no, go to Step 7.
6 The Agent is asleep. Messaging protocol complete (success).
7 Messaging protocol has failed due to a SIF_Status/SIF_Code of 7 (your ZIS sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
8 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Messaging protocol complete (failure).
Table 4.2.1.2-1: SIF_Ping Protocol

4.2.1.3 SIF_Sleep (to a Push-mode Agent)

A ZIS can send a SIF_Sleep message to a Push-Mode Agent to change its state to "sleeping," indicating that it will either be offline or acknowleding incoming messages with a SIF_Status/SIF_Code of 8 (receiver is sleeping), and that it will not be delivering messages to the Agent until it "wakes up" by sending a SIF_Wakeup message.

StepProcessFlow Control
1 Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Sleep element in SIF_SystemControlData. Send SIF_Message to Agent over appropriate transport.
2 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 6.
3 Is SIF_Status/SIF_Code 1? If no, go to Step 5.
4 The Agent has successfully acknowledged your SIF_Sleep and should not be expecting further message delivery until your ZIS sends a SIF_Wakeup. Messaging protocol complete (success).
5 Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (Agent is asleep) or 7 (your ZIS sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
6 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Messaging protocol complete (failure).
Table 4.2.1.3-1: SIF_Sleep Protocol

4.2.1.4 SIF_Wakeup (to a Push-mode Agent)

A ZIS can send a SIF_Wakeup message to a Push-Mode Agent to change its state to "awake;" i.e., that it is ready to process incoming messages and deliver queued messages again.

StepProcessFlow Control
1 Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place an empty SIF_Wakeup element in SIF_SystemControlData. Send SIF_Message to Agent over appropriate transport.
2 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 6.
3 Is SIF_Status/SIF_Code 1? If no, go to Step 5.
4 The Agent has successfully acknowledged your "awake" status. Messaging protocol complete (success).
5 Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (Agent is asleep) or 7 (your ZIS sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
6 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. Messaging protocol complete (failure).
Table 4.2.1.4-1: SIF_Wakeup Protocol

4.2.1.5 SIF_CancelRequests (to a Push-mode Agent)

A ZIS can send a SIF_CancelRequests message to a Push-Mode Agent after receiving a SIF_CancelRequests messages from another agent, as per the SIF_CancelRequests message handling protocol. As support for this message is currently optional for Push-Mode Agents, the ZIS should be prepared to handle a Generic Message Handling error from the Agent upon receipt of the SIF_SystemControl message, error code "Message not supported."

StepProcessFlow Control
1 Prepare a SIF_Message/SIF_SystemControl message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place a SIF_CancelRequests element in SIF_SystemControlData.  
2Place the requests that should be cancelled in SIF_RequestMsgIds/SIF_RequestMsgId. While it is not used by the Push-Mode Agent, set the NotificationType to None. Send SIF_Message to Agent over appropriate transport.
3 Receive SIF_Ack in response. Is SIF_Error present? If yes, go to Step 7.
4 Is SIF_Status/SIF_Code 1? If no, go to Step 6.
5 The Agent has successfully acknowledged your SIF_CancelRequests and should have cancelled any corresponding response activity. Messaging protocol complete (success).
6 Messaging protocol has failed due to a SIF_Status/SIF_Code of 8 (Agent is asleep) or 7 (your ZIS sent a duplicate SIF_MsgId). Messaging protocol complete (failure).
7 Messaging protocol has failed due to a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. If the SIF_Error is a Generic Message Handling error, error code "Message not supported," go to Step 8. Otherwise messaging protocol complete (failure).
8 The Agent does not support SIF_CancelRequests. Messaging protocol complete (success).
Table 4.2.1.5-1: SIF_CancelRequests Protocol

4.2.2 ZIS Message Handling Protocols

This section documents how Zone Integration Servers should respond to incoming messages, and the resulting post-conditions upon success or failure, along with any necessary steps to take.

Note that in handling any SIF_Message, the ZIS can return a SIF_Ack with SIF_Status/SIF_Code 8 (receiver is sleeping) or 7 (already have this SIF_MsgId from you) if a duplicate message is detected. These responses are omitted from the handling protocols below.

4.2.2.1 SIF_Message

When a message is received, the ZIS should first validate the XML message. If the message is not SIF_Register, the ZIS should determine whether the sender is registered in the zone. If errors are found, a SIF_Ack with a SIF_Error element should be returned to the caller and no further processing should occur. If no errors are found, message processing proceeds according to message type. Subsequent message processing sections are assured of receiving well-formed and/or valid XML, and all non-SIF_Register message processing sections are assured that the agent is indeed registered with the zone.

StepProcessFlow Control
1Validate incoming XML message. Message validation is optional. The Version attribute of SIF_Message can be used to indicate the appropriate message definition.If not performing message validation, go to Step 3 if XML is well-formed. If performing message validation, go to Step 3 if message is well-formed and valid.
2Prepare a SIF_Ack containing a SIF_Error element. (Note that if XML is not well-formed, or invalid and the well-formed XML is not made available by the XML parser, SIF_SourceId and SIF_MsgId will not be available from the incoming XML message. If this is the case, include SIF_OriginalSourceId and SIF_OriginalMsgId in the SIF_Ack as empty elements with xsi:nil set to true as necessary to indicate the current message.) Set SIF_Error/SIF_Category to indicate XML Validation and place the appropriate error code and description in SIF_Error/SIF_Code and SIF_Error/SIF_Desc. Place any additional parser information into SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to caller. If it can be determined the message is a SIF_Response, see SIF_Response Handling below, Step 13, to send an error SIF_Response to the requester.Stop processing this message.
3Examine the Version attribute of the message.If the version is supported, go to Step 5.
4Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to Generic Message Handling, indicating that the message is not supported in SIF_Error/SIF_Code and SIF_Error/SIF_Desc. Return the SIF_Ack to the caller. If this message is a SIF_Response, see SIF_Response Handling below, Step 13, to send an error SIF_Response to the requester.Stop processing this message.
5Examine message's SIF_Header to retrieve the SIF_SourceId and the message to get the message type. If message type is not SIF_Register, determine if the sender identified by SIF_SourceId is registered.If message type is SIF_Register or if the sender's SIF_SourceId is registered, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to Access and Permissions, indicating that the sender is not registered in SIF_Error/SIF_Code and SIF_Error/SIF_Desc. Return the SIF_Ack to the caller. If this message is a SIF_Response, see SIF_Response Handling below, Step 13, to send an error SIF_Response to the requester.Stop processing the message.
7Forward message to the proper handler based on the message type.
Table 4.2.2.1-1: SIF_Message Handling

4.2.2.2 SIF_Register

Before an agent can participate in a zone, it must register itself in order to provide the data that the ZIS needs to interact with the agent. This process is handled using a SIF_Register message.

StepProcessFlow Control
1If ZIS implementation limits SIF_SourceId values in some way, examine SIF_SourceId and determine whether it is valid.If implementation allows any SIF_SourceId or if the SIF_SourceId is valid, go to Step 3.
2Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Registration and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that SIF_SourceId is invalid. Return the SIF_Ack to the caller.Stop processing this message.
3If ZIS implementation requires previous permissions to register, examine SIF_SourceId and determine whether sender is permitted to register.If implementation allows any sender to register or if sender is permitted to register, go to Step 5.
4Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Access and Permissions and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the lack of permission to register. Return the SIF_Ack to the caller.Stop processing this message.
5Examine SIF_Version element(s) and determine if the ZIS can handle the version(s).Go to Step 7 if the ZIS can handle the SIF version(s) specified by agent.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Registration and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the ZIS cannot handle SIF messages in a version requested. Place the unsupported version in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing this message.
7Examine SIF_MaxBufferSize and verify that it is greater than or equal to the minimum value for the ZIS.Go to Step 9 if SIF_MaxBufferSize is large enough.
8Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Registration and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the SIF_MaxBufferSize is too small to be supported by the ZIS. Return the SIF_Ack to the callerStop processing this message.
9If the supplied value of SIF_Mode is Push, verify that the SIF_Protocol element is provided and that the protocol information appears sufficient for contacting the agent in Push mode and that the ZIS supports the Accept-Encoding SIF_Protocol/SIF_Property, if specified.Go to Step 11 if SIF_Mode is Pull or SIF_Protocol information appears valid.
10Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Registration and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the protocol is not supported, a secure transport is required, or that the ZIS does not support the supplied Accept-Encoding value. Return the SIF_Ack to the caller.Stop processing this message.
11Store data from the SIF_Register message into the agent's database profile.
12Prepare a SIF_Ack containing a SIF_Status element indicating success, placing the agent's access control permissions in SIF_Status/SIF_Data/SIF_AgentACL. Return the SIF_Ack to the caller.Stop processing this message.
Table 4.2.2.2-1: SIF_Register Handling

An agent may also send the SIF_Register message when already registered. In this case, the ZIS should re-register the agent in the same manner as defined for initial registration. Any existing provision and subscription entries, as well as any pending messages, maintained by the ZIS for the agent should remain intact. Upon successful re-registration, any new or updated registration settings for the agent, including push mode protocol information, take effect after the ZIS has returned a successful SIF_Ack for the SIF_Register message.

4.2.2.3 SIF_Unregister

When an agent is going be removed from a Zone, the agent must send a SIF_Unregister message. When a ZIS receives this message from an agent, it performs those steps—ignoring SIF_Ack preparation and delivery—outlined for the SIF_Unprovide and SIF_Unsubscribe messages for any agent provisions or subscriptions, respectively. The ZIS then discards any messages pending for the agent. The ZIS will also remove any registration information and remove the agent from its list of registered agents.

It is recommended that the ZIS not remove access control data from its database as a replacement agent may be installed. Keeping the access permissions is optional, however.

StepProcessFlow Control
1Examine message and retrieve the SIF_SourceId of the message. The ZIS must remove the agent from its list of registered agents. Perform SIF_Unprovide functionality for any objects the agent is providing. Perform SIF_Unsubscribe functionality for any objects to which the agent is subscribed. Discard any pending messages for the agent.
2Prepare a SIF_Ack containing a SIF_Status element indicating success. Return the SIF_Ack to caller.Stop processing the message.
Table 4.2.2.3-1: SIF_Unregister Handling

4.2.2.4 SIF_Provide

An agent makes an object available to be requested by a process called Provision that is represented by the SIF_Provide message.

The SIF_Provide message can contain provision requests for multiple objects. The ZIS must treat all of the objects as a set; if there is an error with one of the objects then there should be no change to the Providers database.

StepProcessFlow Control
1Prepare a SIF_Ack.Go to Step 3.
2Examine the message to determine whether any more objects are being provided.Go to Step 11 if there are no further object provisions to process for this message.
3Retrieve the name of the next object to be provided. If not otherwise performed in initial message validation, check whether the object name is valid (e.g. valid/supported object, not SIF_ZoneStatus).If object name is valid, go to Step 5.
4Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Provision and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the object is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc.Go to Step 14.
5If no SIF_Context is specified, the context is SIF_Default. Otherwise check that each SIF_Context supplied in SIF_Contexts is supported.If they are all supported, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a context is not supported. Place the name of the context in SIF_Error/SIF_ExtendedDesc.Go to Step 14.
7Using the SIF_SourceId, consult the ACL to determine if the sender has the proper access and permissions for this object in each of the specified contexts.If sender has the proper access and permissions, go to Step 9.
8Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Access and Permissions. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the sender lacks permission to provide this object. Place the name of the object in SIF_Error/SIF_ExtendedDesc.Go to Step 14.
9Check the Providers database to see if this object has already been provided in the contexts specified.If the object does not have a provider in the contexts specified, go to Step 11.
10Is the current provider the same as the SIF_SourceId of this message?If the provider differs from the SIF_SourceId of this message, go to Step 14. Otherwise go to Step 2.
11Add a record in the Providers database to indicate that SIF_SourceId is the provider of this object in the given contexts. If an error occurs, add a SIF_Error element to the SIF_Ack.If an error occurs, go to Step 13; otherwise go to Step 2.
12Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Provision and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that the object already has a provider. Place the name of the provider in SIF_Error/SIF_ExtendedDesc.Go to Step 14.
13Add a SIF_Status element indicating success to the SIF_Ack. Return the SIF_Ack to the caller.Stop processing the message.
14Undo all changes to the Providers database. Return the SIF_Ack to the caller.Stop processing the message.
Table 4.2.2.4-1: SIF_Provide Handling

4.2.2.5 SIF_Unprovide

If an agent wishes to withdraw an object previously provided, the SIF_Unprovide message is used.

The SIF_Unprovide message can contain multiple objects. The ZIS must treat all of the objects as a set; if there is an error with one of the objects then there should be no change to the Providers database.

StepProcessFlow Control
1Prepare a SIF_Ack.Go to Step 3.
2Examine the message to determine whether any more objects are being unprovided.Go to Step 7 if there are no further objects to process for this message.
3Examine the message and retrieve the name of an object to be unprovided. If not otherwise performed in initial message validation, check whether the object name is valid (e.g. valid/supported object, not SIF_ZoneStatus).Go to Step 5 if the object name is valid.
4Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Provision and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the object is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc.Go to Step 10.
5If no SIF_Context is specified, the context is SIF_Default. Otherwise check that each SIF_Context supplied in SIF_Contexts is supported.If they are all supported, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a context is not supported. Place the name of the context in SIF_Error/SIF_ExtendedDesc.Go to Step 10.
7If it exists, remove the records in the Providers database that marks SIF_SourceId as the provider of this object for the given contexts. If an error occurs, add a SIF_Error element to the SIF_Ack.If an error occurs, go to Step 10.
8Leave all pending SIF_Requests for the object in the responder's queue, as they may include SIF_Requests routed explicitly to the responder using SIF_DestinationId.Go to Step 2.
9Add a SIF_Status element indicating success to the SIF_Ack. Return the SIF_Ack to the callerStop processing the message.
10Undo all changes to the Providers database. Return the SIF_Ack to the caller.Stop processing the message.
Table 4.2.2.5-1: SIF_Unprovide Handling

4.2.2.6 SIF_Subscribe

An agent requests to receive SIF_Events for an object by a process called Subscription that is represented by the SIF_Subscribe message.

The SIF_Subscribe message can contain subscription requests for multiple objects. The ZIS must treat all of the objects as a set, if there is an error with one of the objects then there should be no change to the Subscribers database.

StepProcessFlow Control
1Prepare a SIF_Ack.Go to Step 3.
2Examine the message to determine whether any more subscriptions need to be processed.Go to Step 9 if there are no further subscriptions to process in this message.
3Retrieve the name of the next object to be subscribed to. If not otherwise performed in initial message validation, check whether the object name is valid (e.g., valid/supported object with events reported).If the object name is valid, go to Step 5.
4Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Subscription and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the object is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc.Go to Step 12.
5If no SIF_Context is specified, the context is SIF_Default. Otherwise check that each SIF_Context supplied in SIF_Contexts is supported.If they are all supported, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a context is not supported. Place the name of the context in SIF_Error/SIF_ExtendedDesc.Go to Step 12.
7Using the SIF_SourceId, consult the ACL to determine if the sender has the proper access and permissions for this object and contexts.If sender has the proper access and permissions, go to Step 9.
8Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Access and Permissions. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the sender lacks permission to subscribe to this object. Place the name of the object in SIF_Error/SIF_ExtendedDesc.Go to Step 12.
9Check the Subscribers database to see if the caller is already subscribed to this object for the specified contexts.If the caller is already subscribed to this object, go to Step 2.
10Add a record in the Subscribers database to indicate that SIF_SourceId is a subscriber of this object's SIF_Events in the specified contexts. If an error occurs, add a SIF_Error element to the SIF_Ack.If an error occurs go to Step 12; otherwise go to Step 2.
9Add a SIF_Status element indicating success to the SIF_Ack. Return the SIF_Ack to the caller.Stop processing the message.
12Undo all changes to the Subscribers database. Return the SIF_Ack to the caller.Stop processing the message.
Table 4.2.2.6-1: SIF_Subscribe Handling

4.2.2.7 SIF_Unsubscribe

If an agent wishes to cancel one or more subscriptions, the SIF_Unsubscribe message is used. Events already queued for delivery prior to unsubscription will be delivered.

The SIF_Unsubscribe message can contain subscription requests for multiple objects. The ZIS must treat all of the objects as a set, if there is an error with one of the objects then there should be no change to the Subscribers database.

StepProcessFlow Control
1Prepare a SIF_Ack.Go to Step 3.
2Examine the message to determine whether any more unsubscriptions need to be processed.Go to Step 6 if there are no further objects to process in the message.
3Retrieve the name of the next object. If not otherwise performed in initial message validation, check whether the object name is valid (e.g. valid/supported object with events reported).If the object name is valid, go to Step 5.
4Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Subscription and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the object is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc.Go to Step 9.
5If no SIF_Context is specified, the context is SIF_Default. Otherwise check that each SIF_Context supplied in SIF_Contexts is supported.If they are all supported, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a context is not supported. Place the name of the context in SIF_Error/SIF_ExtendedDesc.Go to Step 12.
7If it exists, remove the record in the Subscribers database that marks SIF_SourceId as a subscriber of this object's SIF_Events in the specified contexts. If an error occurs, add a SIF_Error element to the SIF_Ack.If an error occurs go to Step 9, otherwise go to Step 2.
8Add a SIF_Status element indicating success to the SIF_Ack. Return the SIF_Ack to the caller.Stop processing the message.
9Undo all changes to the Subscribers database. Return the SIF_Ack to the caller.Stop processing the message.
Table 4.2.2.7-1: SIF_Unsubscribe Handling

4.2.2.8 SIF_Provision

An Agent is registering its support for various messages with regard to various objects. Settings supplied replace any previously recorded settings for the Agent.

StepProcessFlow Control
1Prepare SIF_Ack. 
2Process SIF_ProvideObjects as provide.On error go to step 13.
3Process objects not in SIF_ProvideObjects as unprovide.On error go to step 13.
4Process SIF_SubscribeObjects as subscribe.On error go to step 13.
5Process objects not in SIF_SubscribeObjects as unsubscribe.On error go to step 13.
6Process SIF_PublishAddObjects.On error go to step 13.
7Process SIF_PublishChangeObjects.On error go to step 13.
8Process SIF_PublishDeleteObjects.On error go to step 13.
9Process SIF_RequestObjects.On error go to step 13.
10Process SIF_RespondObjects.On error go to step 13.
11Save changes. 
12Return success SIF_Ack.Stop processing.
13Roll back any changes. 
14Return error SIF_Ack.Stop processing.
Table 4.2.2.8-1: SIF_Provision Handling

4.2.2.9 SIF_Event

When an application has made a change in an object that is part of the Zone and for which the application has declared the ability to generate SIF_Events, the agent will send a SIF_Event message to its Zone Integration Server so the framework may distribute it.

StepProcessFlow Control
1Examine message and retrieve the name of the object. Check whether the object name is valid (e.g. valid/supported object with events reported).If object name is valid, go to Step 3.
2Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Event Reporting and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the event is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
3If no SIF_Context is specified, the context is SIF_Default. Otherwise check that each SIF_Context supplied in SIF_Contexts is supported.If they are all supported, go to Step 5.
4Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a context is not supported. Place the name of the context in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
5Using the SIF_SourceId, consult the ACL to determine if the sender has the proper access and permissions for this object in the specified contexts.If sender has the proper access and permissions, go to Step 7.
6Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Access and Permissions. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the sender lacks permission to publish events pertaining to this object (use general SIF_Event error code, or specific Add, Change, Delete codes). Place the name of the object in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
7Check the Subscriber database to see if there are any subscribers in the specified contexts for the SIF_Event.Go to Step 9 if there are no subscribers for this object.
8 Create a new message for this SIF_Event and place a copy into each subscribing agent's queue. If more than one context is specified for the event, only one copy of the event is placed in the subscribing agent's queue. If the event cannot be placed into an individual agent's queue due to the agent's maximum buffer size or because the subscribing agent does not support the message version of the SIF_Event, it is recommended that the ZIS log the inability to deliver the event. In addition, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from the original message. SIF_LogEntry/SIF_Desc must contain the SourceId of the agent that has failed to receive the message.
9Prepare a SIF_Ack containing a SIF_Status element indicating success. Return a SIF_Ack to the caller.Stop processing the message.
Table 4.2.2.9-1: SIF_Event Handling

4.2.2.10 SIF_Request

When an agent needs information from a Zone context it sends a SIF_Request message to the ZIS. If the SIF_Request's header does not contain a SIF_DestinationId element, the ZIS will route the message to the Provider of the object referenced in the SIF_Request. If the header contains a SIF_DestinationId, the ZIS will route the message to the application referenced in the SIF_DestinationId if the security policies of the zone permit such routing. The ZIS will return a SIF_Ack message to the requesting agent to indicate whether or not it was able to process the SIF_Request message.

After the ZIS returns a success SIF_Ack to the requester, the ZIS will route the SIF_Request to the responder and the requesting agent may expect to receive one or more SIF_Response messages sent by the responder. However, the responder may not be currently on-line or it may not be able to immediately satisfy the SIF_Request. Therefore, requesting agents must not depend upon a timely response to their SIF_Request.

If the ZIS returns an error SIF_Ack, the requesting agent will not receive any SIF_Response messages from a responder.

StepProcessFlow Control
1Prepare a SIF_Ack.
2Retrieve the name of the object from the ObjectName attribute of SIF_Query/SIF_QueryObject and check whether it's a valid/supported object.Go to Step 4 if the object name is valid.
3Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Request and Response and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the object name is invalid. Place the name of the invalid object in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
4If no SIF_Context is specified, the context is SIF_Default. Otherwise check that the context supplied in SIF_Contexts is supported. If more than one context is specified, go to Step 5.If the context is supported, go to Step 6.
5Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Generic Message Handling. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate a specified context is not supported or that multiple contexts are not supported, depending on the error. Place the name of the context in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
6Using the SIF_SourceId, consult the ACL to determine if the sender has the proper access and permissions for this object in the applicable contexr.If sender has the proper access and permissions, go to Step 8.
7Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Access and Permissions. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the sender lacks permission to request this object. Place the name of the object in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
8Examine the SIF_Request header looking for a SIF_DestinationIdGo to Step 11 if a SIF_DestinationId was located.
9No SIF_DestinationId was found. Examine the Providers database to locate the responder for the requested object in the applicable context.Go to Step 12 if a Provider was located.
10Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate that no provider was found. Return the SIF_Ack to the caller.Stop processing the message.
11A SIF_DestinationId was specified indicating the responder. Confirm that the agent specified in SIF_DestinationId has permission to send SIF_Response messages for the requested data object in the applicable context.Go to Step 10 if the agent does not have the necessary permission.
12If it can be determined from ACL settings or settings recorded by SIF_Provision and/or SIF_Provide that the Responder cannot handle a SIF_Query for a given object or SIF_ExtendedQuery for any referenced object, or that the Responder doesn't handle extended queries in general, add a SIF_Error element with the applicable SIF_Error/SIF_Category and SIF_Error/SIF_Code (object not supported, query not supported, or SIF_ExtendedQuery not supported). Place an appropriate error message in SIF_Desc and/or SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
13 Deposit the SIF_Request in the responder's queue. If the request cannot be placed into an individual agent's queue due to the agent's maximum buffer size or because the destination agent does not support the message version of the SIF_Request, it is recommended that the ZIS log the inability to deliver the request. In addition, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from this message. SIF_LogEntry/SIF_Desc MUST contain the SourceId of the agent that has failed to receive the request.
14Return a SIF_Ack, with SIF_Status set to 0, to the caller to indicate that SIF_Request has been sent.Stop processing the message.
Table 4.2.2.10-1: SIF_Request Handling

4.2.2.11 SIF_Response

When receiving a SIF_Response packet from an agent responding to a SIF_Request, the ZIS MUST perform the validation protocol below.

StepProcessFlow Control
1Prepare a SIF_Ack.
2Using the supplied SIF_RequestMsgId, look up the SIF_Request that initiated this response. Go to Step 4 if the SIF_Request is found.
3Add a SIF_Error element to the SIF_Ack. Set SIF_Error/SIF_Category to indicate Request and Response and set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the SIF_RequestMsgId is invalid. Place SIF_RequestMsgId in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Stop processing the message.
4Examine the SIF_MaxBufferSize specified in the SIF_Request message and compare it to the size of the SIF_Response packet.If the SIF_Response packet is smaller than or equal to the SIF_MaxBufferSize specified in the original request, go to Step 6.
5Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate indicate Request and Response. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the SIF_MaxBufferSize is incorrect. Place a description of the SIF_MaxBufferSize and the actual size of the message received in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Go to step 13.
6Examine the SIF_DestinationId specified in the SIF_Response and compare it to the SIF_SourceId of the original request.If the SIF_DestinationId is correct, go to Step 8.
7Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate indicate Request and Response. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the SIF_DestinationId is incorrect. Place a description of the SIF_DestinationId specified and the SIF_DestinationId expected in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Go to step 13.
8Examine the SIF_PacketNumber specified in the SIF_Response. If this is the first SIF_Response packet received, the SIF_PacketNumber must be set to a value of 1. Subsequent packets must be received in order with the SIF_PacketNumber set to 1 + the previous SIF_PacketNumber.If the SIF_PacketNumber is correct, go to Step 10.
9Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate indicate Request and Response. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the SIF_PacketNumber is incorrect. Place a description of the SIF_PacketNumber specified and the SIF_PacketNumber expected in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Go to step 13.
10Examine the SIF_Version specified in the SIF_Response and compare it to the SIF_Versions allowed in the original request.If the SIF version matches one of the SIF Versions requested in the SIF_Request, go to Step 12.
11Prepare a SIF_Ack containing a SIF_Error element. Set SIF_Error/SIF_Category to indicate Request and Response. Set SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the SIF_Version is incorrect. Place a description of the version of the SIF_Response and versions allowed by the SIF_Request in SIF_Error/SIF_ExtendedDesc. Return the SIF_Ack to the caller.Go to step 13.
12Place the SIF_Response packet in the requesting agent's queue.Message processing is complete. Stop processing the message.
13

Prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.

Add a SIF_Error element with the SIF_Error/SIF_Category set to indicate Request and Response and SIF_Error/SIF_Code and SIF_Error/SIF_Desc to indicate the reason that the SIF_Response packet was rejected.

Add SIF_PacketNumber with a value set to set to 1 + the previous SIF_PacketNumber and SIF_MorePackets to No.

Send the SIF_Response to the original requester. In addition, the ZIS MUST report a SIF_LogEntry event with the appropriate error category and code, containing a copy of the SIF_Header from the request. SIF_LogEntry/SIF_ExtendedDesc should contain information about why the message failed SIF_Response validation.

Stop processing the message.

The ZIS must also guarantee that no additional SIF_Response packets for this SIF_Request will be accepted. Depending on the implementation, the ZIS may need to alter the SIF_Request cache it maintains to signal that the SIF_Request is no longer valid.

The ZIS may remove the SIF_Request from the cache as the stream is closed.

Table 4.2.2.11-1: SIF_Response Handling
4.2.2.11.1 Implementation Notes

The ZIS must maintain a reliable list of all open SIF_Requests in order to satisfy the Quality of Service validations that are applied to SIF_Responses above. It is envisioned that once a SIF_Response has been completed, either by receiving the last packet or by failing one of the validations applied below, knowledge of the initiating SIF_Request will no longer need to be maintained by the ZIS. If the responding agent attempts to send any more SIF_Responses for a failed SIF_Request, it will automatically fail at Step 2 and get the error response specified in Step 3. Notification of the failed SIF_Response would have already been sent to the requesting agent.

There remain three cases where a requesting agent will not receive a complete SIF_Response for a request.

  1. The responding agent never replies with a SIF_Response.
  2. The responding agent starts replying, but never finishes the SIF_Response by sending a SIF_Response with the SIF_MorePackets element set to "No".
  3. The responding agent attempts a reply with a SIF_Response but the ZIS is unable to parse the message enough to read the SIF_RequestMsgId. If this case occurs, and the responding agent sends a subsequent SIF_Response that is parseable, it is likely that the requesting agent will be notified of the problem because subsequent SIF_Response packets will not pass the SIF_PacketNumber validation.

Management of the SIF_Request cache that is maintained by the ZIS is left up to the ZIS implementation. The ZIS is required to maintain the SIF_Requests for a reasonable amount of time. If the ZIS eventually removes SIF_Requests that have been cached for a long period of time, that option must be able to be configured by the ZIS administrator.

When an open request cache entry is removed by the administrator or a timeout of the record, the ZIS should publish a SIF_LogEntry and a SIF_Response/SIF_Error indicating the reason it was removed.

4.2.2.12 SIF_Ping

An Agent is pinging your ZIS to see if it is reachable, "awake" and/or processing messages.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. If your ZIS is "awake," include a SIF_Status element with a SIF_Code of 0 (success). Otherwise you may optionally notify the Agent that your ZIS is asleep by returning a SIF_Code of 8 (receiver is sleeping).  
2 Return the SIF_Ack to the Agent. Message processing complete (success).
Table 4.2.2.12-1: SIF_Ping Handling

4.2.2.13 SIF_Sleep

The Agent wants its state changed to "asleep." Upon successful state change, your ZIS SHOULD avoid sending messages to a Push-Mode Agent until receipt of a SIF_Wakeup message or that Agent re-registers, or be prepared to handle transport errors or the aforementioned acknowledgement. Whether the Agent is registered in Push or Pull mode, this state is communicated to other Agents in SIF_ZoneStatus and MUST be persisted accordingly. In addition to sending a SIF_Wakeup or SIF_Register, a Pull-Mode Agent can also change its state to "awake" by sending a SIF_GetMessage.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 0 (success). Change the state of the Agent to "asleep."  
2 Return the SIF_Ack to the Agent. Message processing complete (success).
Table 4.2.2.13-1: SIF_Sleep Handling

4.2.2.14 SIF_Wakeup

An Agent wants its state changed to "awake," notifying the ZIS and other Agents of the state change. A ZIS MUST persist this state in order to communicate it to other Agents via SIF_ZoneStatus. When a Push-Mode Agent changes its state to "awake," the ZIS may also resume delivery of queued messages to the Agent.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 0 (success). Change the Agent's state to "awake."  
2 Return the SIF_Ack to the Agent. Message processing complete (success).
Table 4.2.2.14-1: SIF_Wakeup Handling

4.2.2.15 SIF_GetZoneStatus

An Agent is requesting the status of the zone.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 0 (success). Reflect the current state of the zone in SIF_Status/SIF_Data/SIF_ZoneStatus.  
2 Return the SIF_Ack to the Agent. Message processing complete (success).
Table 4.2.2.15-1: SIF_GetZoneStatus Handling

4.2.2.16 SIF_GetAgentACL

An Agent is requesting its access control permissions.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 0 (success). Communicate the Agent's ACL permissions in SIF_Status/SIF_Data/SIF_AgentACL.  
2 Return the SIF_Ack to the Agent. Message processing complete (success).
Table 4.2.2.16-1: SIF_GetZoneStatus Handling

4.2.2.17 SIF_CancelRequests

If an Agent abandons or restarts a data collection using SIF_Requests, whether or not the response stream has started, it is RECOMMENDED that it send one or more SIF_CancelRequests messages to the ZIS. Upon receipt of the SIF_CancelRequests message, the ZIS deletes corresponding SIF_Request messages from Agent queues and deletes its own state/tracking information regarding each request. Doing the latter ensures that if a Responder is still processing a request, the ZIS effectively ends the response stream upon receipt of the next SIF_Response packet by returning a SIF_Error with a SIF_Category of 8 (Request and Response Error) and a SIF_Code of 10 (invalid SIF_RequestMsgId specified in SIF_Response). No changes to responding Agent behaviors are required as all agents in the SIF 2.x lifecycle have the capability to handle this error state.

When cancelling SIF_Requests, the ZIS also has the ability to send a SIF_CancelRequests message to Push-Mode Agents. Pull-Mode Responders cannot receive these messages, but any pending response handling is cancelled per the ZIS behavior above. When dealing with Push-Mode Agents, ZIS implementations must bear in mind that support for this message is optional for Push-Mode Agents.

When a cancelling Agent specifies a NotificationType of Standard, it is the responsibility of the ZIS to end the response stream to the requesting Agent by sending a SIF_Response packet with a SIF_MorePackets of No on the Responder's behalf.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. Include a SIF_Status element with a SIF_Code of 0 (success). Return the SIF_Ack to the Agent. (There are no error return values that apply to this message.) Go to Step 2.
2 For each SIF_RequestMsgId element, perform the following steps. If all SIF_RequestMsgId elements have been processed, processing is complete.
3 Using the supplied SIF_RequestMsgId, look up the SIF_Request that initiated this response. Go to Step 2 if the SIF_Request is not found, or has already been completed with a "final" SIF_Response packet (SIF_MorePackets = No).
4 Examine the SIF_SourceId specified in the SIF_Request message and compare it to the SIF_SourceId in the SIF_SystemControl message. If the SIF_SourceId is not the same, go to Step 2.
5 Close out the SIF_Request tracking state for the request so that no further tracking is performed.  
6 If the responding Agent has already received the request and is running in Push mode, send a SIF_CancelRequests message to that Agent. (Note: This could also be accomplished by packaging up all SIF_RequestMsgIds that apply to the same responding Agent and sending a single SIF_CancelRequests message.)  
7 Examine the value of SIF_NotificationType. If set to Standard, go to Step 8. If set to None, go to Step 10.
8 Prepare a SIF_Response message with SIF_DestinationId set to SIF_SourceId and SIF_RequestMsgId set to SIF_MsgId from the SIF_Request message.  
9

Add a SIF_Error element with the SIF_Category set to indicate Request and Response, with SIF_Code and SIF_Desc indicating 18 (SIF_Request cancelled by requesting agent).

Add SIF_PacketNumber with a value set to the previous SIF_PacketNumber + 1. Set SIF_MorePackets to No.

Place the SIF_Response in the requester's queue.

 
10 Determine if there are any more SIF_RequestMsgId elements left to process. Go to Step 2 if there are more SIF_RequestMsgId elements, otherwise processing is complete.
Table 4.2.2.17-1: SIF_CancelRequests Handling

4.2.2.18 SIF_GetMessage

A Pull-Mode Agent is requesting the next message in its queue.

StepProcessFlow Control
1 Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. Place the incoming SIF_Header/SIF_SourceId and SIF_Header/SIF_MsgId in SIF_OriginalSourceId and SIF_OriginalMsgId, respectively. If the Agent sending SIF_GetMessage is registered as a Pull-Mode Agent, go to step 3.  
2 The Agent is a Push-Mode Agent and is not allowed to send SIF_GetMessage. Include a SIF_Error/SIF_Category of 5 (Registration) and a SIF_Error/SIF_Code of 9 (Agent is registered in Push mode). Populate SIF_Desc and optionally SIF_ExtendedDesc as desired. Return the SIF_Ack to the Agent. Message processing complete.
3 If the recorded state of the Pull-Mode Agent is "asleep," change that state to "awake." Is there a message available in the Agent's message queue, subject to Selective Message Blocking? If yes, go to step 5.  
4 There is no message currently available for the Agent. Include a SIF_Status/SIF_Code of 9 (no messages available). Return the SIF_Ack to the Agent. Message processing complete.
5 The next available message in the Agent's queue, subject to Selective Message Blocking, can be delivered (it will be removed from the queue later per successful handling of a SIF_Ack from the Pull-Mode Agent). If SIF_Security is specified on the message and the connection from the Pull-Mode Agent does not meet the specified minimum encryption and/or authentication levels, or if the connection does not meet minimum encryption/authentication levels in the Zone, remove the message from the Agent's queue and return an appropriate SIF_Error. Otherwise include a SIF_Status/SIF_Code of 0 (success) and place the message in SIF_Status/SIF_Data. Message processing complete.
Table 4.2.2.18-1: SIF_GetMessage Handling

4.2.2.19 SIF_Ack (from a Push-Mode Agent)

A Push-Mode Agent is sending a final SIF_Ack to end Selective Message Blocking (SMB).

StepProcessFlow Control
1Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. 
2Is SIF_Status/SIF_Code 3 (final SIF_Ack)?If yes, go to Step 3.
2

The Agent has violated protocol. End SMB if it has been invoked by the Agent and remove the blocked SIF_Event from the Agent's queue. Indicate SIF_Error/SIF_Category of 13 (SMB Error) and SIF_Error/SIF_Code  3 (final SIF_Ack expected).

It is RECOMMENDED that your ZIS log the error. Your ZIS MAY post a SIF_LogEntry  Add event with the same error category and code above, containing a copy of the SIF_Header of the message.

Return the SIF_Ack to the Agent. Message handling complete (error).
3 Does SIF_OriginalMsgId match the SIF_MsgId for the SIF_Event that was blocked in SMB, if any? If yes, go to Step 5.
4

The Agent has violated protocol. As there can be only one event blocked by SMB, end SMB for the agent and remove the blocked SIF_Event from the Agent's queue, if any. Indicate SIF_Error/SIF_Category of 13 (SMB Error) and SIF_Error/SIF_Code  4 (incorrect SIF_MsgId in final SIF_Ack).

It is RECOMMENDED that your ZIS log the error. Your ZIS MAY post a SIF_LogEntry  Add event with the same error category and code above, containing a copy of the SIF_Header of the message.

Return the SIF_Ack to the Agent. Message handling complete (error).
5SMB has been ended by the Agent. Removed the blocked SIF_Event from the Agent's queue. Place 0 in SIF_Status/SIF_Code. Return the SIF_Ack to the Agent. Message handling complete (success).
Table 4.2.2.19-1: SIF_Ack Handling

4.2.2.20 SIF_Ack (from a Pull-Mode Agent)

A Pull-Mode Agent is acknowledging a message it has retrieved using SIF_GetMessage. This typically leads to the message in question being removed from the Agent's queue. The Agent may also invoke Selective Message Blocking when acknowledging an event, blocking delivery of subsequent SIF_Events until Selective Message Blocking is ended by the Agent.

StepProcessFlow Control
1Prepare a SIF_Ack message with SIF_Header containing a new GUID in SIF_MsgId, your Zone ID in SIF_SourceId and the current time in SIF_Timestamp; other SIF_Header elements do not apply. 
2Is SIF_Error present?If yes, go to Step 14.
3Is SIF_Status/SIF_Code 1 (immediate SIF_Ack)?If no, go to Step 5.
4If no message matches SIF_OriginalMsgId, set SIF_Error/SIF_Category to 12 (Generic Message Handling) and SIF_Error/SIF_Code to 6 (no such message). Otherwise remove the identified message from the Agent's queue and set SIF_Status/SIF_Code to 0.Return SIF_Ack. Message handling complete.
5Is SIF_Status/SIF_Code 2 (intermediate SIF_Ack)?If no, go to Step 7.
6If no message matches SIF_OriginalMsgId, set SIF_Error/SIF_Category to 12 (Generic Message Handling) and SIF_Error/SIF_Code to 6 (no such message). If the message identified is not a SIF_Event, set SIF_Category to 13 (SMB Error) and SIF_Code to 2 (SMB can only be invoked on a SIF_Event). Otherwise invoke SMB on the identified SIF_Event, persisting SIF_OriginalMsgId, and set SIF_Status/SIF_Code to 0. This event is blocked and all SIF_Events are frozen.Return SIF_Ack. Message handling complete.
7Is SIF_Status/SIF_Code 3 (final SIF_Ack)?If no, go to Step 9.
8If SMB has not been invoked or the message identified by SIF_OriginalMsgId doesn't exist or doesn't match the SIF_Event blocked by SMB, set SIF_Error/SIF_Category to 13 (SMB Error) and SIF_Error/SIF_Code to 4 (incorrect SIF_MsgId in final SIF_Ack). (In the case of SMB having been invoked but the message not matching, end SMB, remove the message blocked by SMB from the Agent's queue and unfreeze delivery of events.) Otherwise end SMB, remove the identified message from the Agent's queue and unfreeze delivery of events. Set SIF_Status/SIF_Code to 0.Return SIF_Ack. Message handling complete.
9Is SIF_Status/SIF_Code 7 (already have this SIF_MsgId from you)?If no, go to Step 11.
10The ZIS cannot correct this, as the SIF_MsgId originates from an Agent and can't be changed without other repercussions. Remove the message from the Agent's queue. Set SIF_Status/SIF_Code to 0.Return SIF_Ack. Message handling complete.
11Is SIF_Status/SIF_Code 8 (receiver is sleeping)?If no, go to Step 13.
12The Agent is stating it cannot process the message at this time; leave it as the next message to be delivered. Set SIF_Status/SIF_Code to 0.Return SIF_Ack. Message handling complete.
13

The Agent has violated protocol. Indicate SIF_Error/SIF_Category of 12 (Generic Message Handling Error) and SIF_Error/SIF_Code 5 (protocol error). of the message.

Return SIF_Ack. Message handling complete.
14 The Agent has indicated a SIF_Error condition. See Error Codes with SIF_Category and SIF_Code, and examine SIF_Desc and SIF_ExtendedDesc, if included. If SIF_Category does not indicate a transport error, remove the message from the Agent's queue. Otherwise it remains the next message to be delivered. Set SIF_Status/SIF_Code to 0.Return SIF_Ack. Message handling complete.
Table 4.2.2.20-1: SIF_Ack Handling

5 Infrastructure

This section presents the XML structure for Infrastructure common elements, messages and objects in a tabular format for readers less versed in parsing formal XML schema definitions.

The Char(acteristics) column for all of the tables in this section use the following codes:

CodeCharacteristic
MMandatory element or attribute
OOptional element or attribute
CConditional element or attribute
MRMandatory and repeatable element
OROptional and repeatable element
CRConditional and repeatable element

Mandatory elements and attributes MUST be provided in the Infrastructure messages in which they appear. Infrastructure data objects (SIF_ZoneStatus, SIF_AgentACL) can be subject to SIF's request/response and event models; when impacted by these models (in a SIF_Event or in a SIF_Response), these objects follow the same conventions as listed in Data Model.

5.1 Common Elements

5.1.1 SIF_Message

The SIF_Message element is the root element of all SIF messages.

SIF_Message
Figure 5.1.1-1: SIF_Message SIF_Message xmlns Version SIF_Ack SIF_Event SIF_Provide SIF_Provision SIF_Register SIF_Request SIF_Response SIF_Subscribe SIF_SystemControl SIF_Unprovide SIF_Unregister SIF_Unsubscribe
 Element/@AttributeCharDescriptionType
 SIF_Message 

Contains one of the SIF message types.

 
choice of:

SIF_Ack
SIF_Event
SIF_Provide
SIF_Provision
SIF_Register
SIF_Request
SIF_Response
SIF_Subscribe
SIF_SystemControl
SIF_Unprovide
SIF_Unregister
SIF_Unsubscribe
@xmlnsC

The xmlns attribute specifies the XML namespace for SIF messages. For this version of the specification, the value of this attribute MUST be http://www.sifinfo.org/infrastructure/2.x. This XML namespace value will remain the same until the next major release of SIF (3.0).

Note that one SIF_Message may be contained within another when a ZIS delivers a Pull-Mode Agent's next message in a SIF_Ack response to a SIF_GetMessage from the Pull-Mode Agent. If the default namespace specified for the child SIF_Message is the same as the default namespace of the parent SIF_Message, the xmlns attribute for the child message MAY be omitted.

 
xs:anyURI
@VersionM

The version of the SIF Implementation Specification that defines this message's XML structure. For this version of the specification, the value of this attribute is 2.3. This attribute can be used by ZIS and agent implementations to choose schema files to validate the message's XML.

 
VersionType
Table 5.1.1-1: SIF_Message
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> ... </SIF_Message>
Example 5.1.1-1: SIF_Message

5.1.2 SIF_Header

SIF_Header is a common message header for all SIF messages.

SIF_Header
Figure 5.1.2-1: SIF_Header SIF_HeaderDataModelType SIF_MsgId SIF_Timestamp SIF_Security SIF_SecureChannel SIF_AuthenticationLevel SIF_EncryptionLevel SIF_SourceId SIF_DestinationId SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_HeaderM

Header information associated with a message.

 
 
 SIF_MsgIdM

SIF_MsgId is a globally unique message identifier from the Agent or ZIS that sends out the message.

 
MsgIdType
 SIF_TimestampM

Timestamp of when the message was sent.

 
xs:dateTime
 SIF_SecurityO

This element allows an originating agent to specify security requirements that the ZIS must ensure upon delivery of the message to recipient agents. SIF_Security is only examined and processed by a ZIS on SIF_Request, SIF_Response and SIF_Event messages. In this version of the specification, SIF_Security is ignored on all other messages; its use on other messages is reserved for future versions of this specification.

 
 
 SIF_Security/SIF_SecureChannel
     
M

The originating agent uses this element to specify security requirements for the channel between the ZIS and any recipient agents at delivery time. The ZIS must ensure these requirements are met for this message when delivered to other agents.

 
 
 SIF_Security/SIF_SecureChannel/
     SIF_AuthenticationLevel
M

The minimum level of authentication required by the message originator to be considered a secure channel upon message delivery to other agents.

 
SIF_AuthenticationLevel
 SIF_Security/SIF_SecureChannel/
     SIF_EncryptionLevel
M

The minimum level of encryption required by the message originator to be considered a secure channel upon message delivery to other agents.

 
SIF_EncryptionLevel
 SIF_SourceIdM

The SIF_SourceId is the ID of the originator of the message. Each source needs to have a zone unique case-sensitive identifier.

 
xs:token
xs:maxLength64
 SIF_DestinationIdC

This element represents the ID of the recipient of the message and may be present as follows:

SIF_Response messages MUST have this element set to the SIF_SourceId of the originator of the SIF_Request message. The ZIS will use this information to route the SIF_Response to the requesting agent.

SIF_Request messages MAY have this element set to the ID of a specific agent if the requesting agent wishes to direct the SIF_Request to a specific responder. If present, the ZIS will route the SIF_Request to the agent referenced in the element subject to the access control policies in effect for the zone.

This element SHOULD NOT be used in any other SIF Infrastructure messages. If the element is present, it will be ignored by the ZIS.

 
xs:token
xs:maxLength64
 SIF_ContextsO

Contains each SIF Context that applies to the message. If omitted, the applicable context is SIF_Default. SIF_Context is repeatable for SIF_Events, not repeatable for SIF_Request or SIF_Response.

 
SIF_Contexts
Table 5.1.2-1: SIF_Header
<SIF_Header> <SIF_MsgId>A3E90785EFDA330DACB00785EFDA330D</SIF_MsgId> <SIF_Timestamp>2006-02-18T14:30:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header>
Example 5.1.2-1: SIF_Header
<SIF_Header> <SIF_MsgId>A3E90785EFDA330DACB00785EFDA330E</SIF_MsgId> <SIF_Timestamp>2006-03-11T08:39:49-08:00</SIF_Timestamp> <SIF_Security> <SIF_SecureChannel> <SIF_AuthenticationLevel>3</SIF_AuthenticationLevel> <SIF_EncryptionLevel>4</SIF_EncryptionLevel> </SIF_SecureChannel> </SIF_Security> <SIF_SourceId>RamseyLIB</SIF_SourceId> <SIF_DestinationId>RamseySIS</SIF_DestinationId> </SIF_Header>
Example 5.1.2-2: SIF_Header

5.1.3 SIF_EncryptionLevel

The minimum level of encryption required by the message originator to be considered a secure channel upon message delivery to other agents.

SIF_EncryptionLevel
Figure 5.1.3-1: SIF_EncryptionLevel SIF_EncryptionLevel
 Element/@AttributeCharDescriptionType
 SIF_EncryptionLevel 

The minimum level of encryption required by the message originator to be considered a secure channel upon message delivery to other agents.

 
values:
0
No encryption required
1
Symmetric key length of at least 40 bits is to be used
2
Symmetric key length of at least 56 bits is to be used
3
Symmetric key length of at least 80 bits is to be used
4
Symmetric key length of at least 128 bits is to be used
Table 5.1.3-1: SIF_EncryptionLevel

5.1.4 SIF_AuthenticationLevel

The minimum level of authentication required by the message originator to be considered a secure channel upon message delivery to other agents.

SIF_AuthenticationLevel
Figure 5.1.4-1: SIF_AuthenticationLevel SIF_AuthenticationLevel
 Element/@AttributeCharDescriptionType
 SIF_AuthenticationLevel 

The minimum level of authentication required by the message originator to be considered a secure channel upon message delivery to other agents.

 
values:
0
No authentication required and a valid certificate does not need to be presented.
1
A valid certificate must be presented.
2
A valid certificate from a trusted certificate authority must be presented.
3
A valid certificate from a trusted certificate authority must be presented and the CN field of the certificate's Subject entry must match the host sending the certificate.
Table 5.1.4-1: SIF_AuthenticationLevel

5.1.5 SIF_Contexts

A list of SIF contexts that applies to a message or operation. Typically where used as an optional element, the omission of this element implies the SIF_Default context applies.

SIF_Contexts
Figure 5.1.5-1: SIF_Contexts SIF_Contexts SIF_Context
 Element/@AttributeCharDescriptionType
 SIF_Contexts 

A list of SIF contexts that applies to a message or operation. Typically where used as an optional element, the omission of this element implies the SIF_Default context applies.

 
List
 SIF_ContextMR SIF_Context
Table 5.1.5-1: SIF_Contexts

5.1.6 SIF_Context

The name of a SIF Context that applies to a message or operation.

SIF_Context
Figure 5.1.6-1: SIF_Context SIF_Context
 Element/@AttributeCharDescriptionType
 SIF_Context 

The name of a SIF Context that applies to a message or operation.

 
xs:token
xs:maxLength64
Table 5.1.6-1: SIF_Context

5.1.7 SIF_Protocol

Contains protocol information regarding a ZIS or Agent.

SIF_Protocol
Figure 5.1.7-1: SIF_Protocol SIF_Protocol Type Secure SIF_URL SIF_Property SIF_Name SIF_Value
 Element/@AttributeCharDescriptionType
 SIF_ProtocolC

Contains protocol information regarding a ZIS or Agent.

 
 
@TypeM

The type of protocol to use (HTTPS, HTTP or an implementation-defined protocol).

 
union of:

DefinedProtocolsType
xs:token
@SecureM

Whether the protocol provides a secure channel.

 
values:
Yes
No
 SIF_URLC

This element is required if the protocol is HTTPS or HTTP. It contains the https or http URL for contacting the agent.

 
xs:anyURI
xs:maxLength256
 SIF_PropertyOR

May contain zero or more SIF_Property elements containing SIF_Name/SIF_Value pairs describing any protocol settings required to ensure proper communication.

 
 
 SIF_Property/SIF_NameM

Property name.

 
xs:token
xs:maxLength64
 SIF_Property/SIF_ValueM

Property value.

 
xs:string
xs:maxLength256
Table 5.1.7-1: SIF_Protocol

5.1.8 SIF_Status

This element is used to signal a successful response.

SIF_Status
Figure 5.1.8-1: SIF_Status SIF_Status SIF_Code SIF_Desc SIF_Data SIF_Message SIF_AgentACL SIF_ZoneStatus
 Element/@AttributeCharDescriptionType
 SIF_Status 

This element is used to signal a successful response.

 
 
 SIF_CodeM InfrastructureStatusCodeType
 SIF_DescO

An optional textual description/equivalent of SIF_Code.

 
xs:string
xs:maxLength1024
 SIF_DataO

Optional element to hold data related to a successful operation. This data is currently limited to a SIF_Message returned by the ZIS in response to a Pull-Mode Agent's SIF_GetMessage, SIF_AgentACL returned by the ZIS in response to SIF_Register and SIF_GetAgentACL, and SIF_ZoneStatus returned by the ZIS in response to SIF_GetZoneStatus.

 
choice of:

SIF_Message
SIF_AgentACL
SIF_ZoneStatus
Table 5.1.8-1: SIF_Status

5.1.9 SIF_Error

This element is used to signal an unsuccessful response.

SIF_Error
Figure 5.1.9-1: SIF_Error SIF_ErrorDataModelType SIF_Category SIF_Code SIF_Desc SIF_ExtendedDesc
 Element/@AttributeCharDescriptionType
 SIF_Error 

This element is used to signal an unsuccessful response.

 
 
 SIF_CategoryM InfrastructureErrorCategoryType
 SIF_CodeM

See Error Codes.

 
union of:

InfrastructureXMLValidationErrorType
InfrastructureEncryptionErrorType
InfrastructureAuthenticationErrorType
InfrastructureAccessAndPermissionErrorType
InfrastructureRegistrationErrorType
InfrastructureProvisionErrorType
InfrastructureSubscriptionErrorType
InfrastructureRequestAndResponseErrorType
InfrastructureEventReportingAndProcessingErrorType
InfrastructureTransportErrorType
InfrastructureSystemErrorType
InfrastructureGenericMessageHandlingErrorType
xs:token
 SIF_DescM

A simple, easy to understand, description of the error. The primary consumer of this message is the application user. Example: "Unable to open database."

 
xs:string
xs:maxLength1024
 SIF_ExtendedDescO

An optional error description that is more complete and technical in nature. It is to be used as a diagnostic message in trouble-shooting procedures. Example: "The 'Students' table is opened in exclusive mode by user 'ADM1' (dbm.cpp, line 300)."

 
xs:string
Table 5.1.9-1: SIF_Error

5.1.10 SIF_Query

SIF's default query mechanism.
SIF_Query
Figure 5.1.10-1: SIF_Query SIF_QueryDataModelType SIF_QueryObject ObjectName SIF_Element SIF_ConditionGroup Type SIF_Conditions Type SIF_Condition SIF_Element SIF_Operator SIF_Value SIF_Example
 Element/@AttributeCharDescriptionType
 SIF_Query SIF's default query mechanism.  
 SIF_QueryObjectM

This is the object that is being queried for.

 
 
@ObjectNameM

The actual name of the object that is being queried for.

 
SIF_RequestObjectNamesType
 SIF_QueryObject/SIF_Element
     
OR

Individual elements/attributes being requested of matching object. See SIF_Element Syntax below. If specified, only the elements/attributes requested are returned in the SIF_Response (with any parent elements/attributes); otherwise, all elements supported by the provider's object are returned.

Note that this is a means to filter or select a subset of elements/attributes from a matching object; specifying elements/attributes here that do not occur in or are not supported in a matching object does not exclude that matching object from being returned. Include any existing parent elements/attributes of the elements/attributes that are requested but not present.

 
xs:normalizedString
 SIF_ConditionGroupC

Either SIF_ConditionGroup or SIF_Example may optionally be specified to present conditions matching objects should satisfy.

SIF_ConditionGroup represents the conditions that the queried object(s) must meet. If conditions are specified, only those objects that meet the conditions are returned; otherwise, all objects of the specified name are returned.

 
 
@TypeM

The Boolean operator for joining conditions (SIF_Conditions elements) within this element. Note that None should be used if there is only one SIF_Conditions element.

 
values:
And
Or
None
 SIF_ConditionGroup/SIF_Conditions
     
MR

This construct allows for nested conditions.

 
 
@TypeM

The boolean operator for joining conditions (SIF_Condition elements) within this element. Note that None should be used if there is only one SIF_Condition element.

 
values:
And
Or
None
 SIF_ConditionGroup/SIF_Conditions/
     SIF_Condition
MR

This element represents an individual condition.

 
 
 SIF_ConditionGroup/SIF_Conditions/
     SIF_Condition/SIF_Element
     
M

This is the element/attribute being queried. See below for syntax.

 
xs:normalizedString
 SIF_ConditionGroup/SIF_Conditions/
     SIF_Condition/SIF_Operator
     
M

The comparison operator for the condition.

 
values:
EQ
Equals
LT
Less Than
GT
Greater Than
LE
Less Than Or Equals
GE
Greater Than Or Equals
NE
Not Equals
 SIF_ConditionGroup/SIF_Conditions/
     SIF_Condition/SIF_Value
M

SIF_Value is the data that is used to compare with the value of the element or attribute.

 
xs:string
 SIF_ExampleC

An example SIF object that serves as a template for matching objects. There is an implied EQ operator for every element/attribute value present and an implied And group of all resulting conditions. Currently this is an experimental feature and limited to use with select objects; wider use may be considered in future versions of this specification.

 
SIF_ExampleObjectType
Table 5.1.10-1: SIF_Query

5.1.10.1 SIF_ConditionGroup

The SIF_Query element may have a SIF_ConditionGroup element that may have one or more SIF_Conditions elements. A SIF_Conditions element may contain one or more SIF_Condition elements. Each SIF_Condition element defines a search criterion, which contains the following sub-elements. For example, if you wished to request the LibraryPatronStatus object for all teachers, the SIF_ConditionGroup would be: For example, if you wished to request the LearnerExclusion object for a student, the SIF_ConditionGroup would be:

<SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@SIF_RefObject</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>StaffPersonal</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup>
Example 5.1.10.1-1

If you wished to request the LibraryPatronStatus object for a specific teacher then the SIF_ConditionGroup would be:

<SIF_ConditionGroup Type="None"> <SIF_Conditions Type="And"> <SIF_Condition> <SIF_Element>@SIF_RefObject</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>StaffPersonal</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>@SIF_RefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>D3E34B359D75101A8C3D00AA001A1652</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup>
Example 5.1.10.1-2
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Request> <SIF_Header> <SIF_MsgId>A3E90785EFDA330DACB00785EFDA330D</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_Version>2.*</SIF_Version> <SIF_MaxBufferSize>1048576</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="StudentPersonal" /> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>Name/LastName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Smith</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> </SIF_Request> </SIF_Message>
Example 5.1.10.1-3: SIF_ConditionGroup querying into an object

5.1.10.2 SIF_Element Syntax

To reference individual elements/attributes in query criteria for objects, and in lists of individual elements/attributes to be returned from matching objects, SIF defines a path syntax which is based on a small subset of [XPath], for use in SIF_Element. Elements are specified by name (e.g. Name) and attributes are specified by name, prefixed with @ (e.g. @Type). Namespace prefixes may precede element/attribute names as necessary (e.g. @xml:lang) and reference the current prefix-to-namespace mappings within the XML of the request. To reference child elements or attributes of child elements, a path notation is used where each element/attribute in the path is separated by / (e.g. Name/FirstName, Name/@Type). The object's element is the root element and is not included when referencing child elements (e.g. Name/FirstName, not StudentPersonal/Name/FirstName); no / is required when referencing attributes of the object itself (e.g. @RefId, not StudentPersonal/@RefId).

SIF_Condition/SIF_Element may also contain XPath predicates (e.g. [@Type='04]) to allow for more precise matching, especially with regard to repeatable elements with "key" attributes. The following SIF_Condition would match object withs any FirstName of Cameron:

<SIF_Condition> <SIF_Element>Name/FirstName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Cameron</SIF_Value> </SIF_Condition>
Example 5.1.10.2-1

Using a predicate allows the requester to specifically query the person's name of record (04) vs. his/her previous, professional, current legal name, etc.

<SIF_Condition> <SIF_Element>Name[@Type='04']/FirstName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Cameron</SIF_Value> </SIF_Condition>
Example 5.1.10.2-2

Predicate expressions supported in SIF are limited to or, and, =, element/attribute names with optional prefixes and accessing nested elements/attributes using /.

5.1.11 SIF_ExtendedQuery

SIF's default query mechanism for SIF_Request, SIF_Query, has several limitations that limit its usefulness when creating reporting applications that process data from a SIF zone. SIF_Query is limited to matching only one object type per query, requiring applications to manually join together results as needed for reporting and general data processing. SIF_ExtendedQuery is designed to allow for joins on object identifiers/RefIds and to allow retrieval of data in a row/column fashion similar to SQL. Each returned column may contain hierarchical XML elements/objects. While envisioned as the primary mechanism for SIF-based ReportManifests, Providers and Responders in a Zone may support SIF_ExtendedQuery in addition to SIF_Query. Support for SIF_ExtendedQuery can be declared in and retrieved from the Zone is various Infrastructure messages and objects.

Note that matching rows are generated solely based on the SIF_From clause, with optional join criteria, optionally limited/filtered by the SIF_Where clause. If a repeatable element is requested as a column in SIF_Select, this does not generate multiple rows for each occurrence of matching elements; all elements are returned in the corresponding column within a single row.

SIF_ExtendedQuery
Figure 5.1.11-1: SIF_ExtendedQuery SIF_ExtendedQueryDataModelType SIF_DestinationProvider SIF_Select Distinct RowCount SIF_Element Alias ObjectName SIF_From ObjectName SIF_Join Type SIF_JoinOn SIF_LeftElement ObjectName SIF_RightElement ObjectName SIF_Where SIF_ConditionGroup Type SIF_Conditions Type SIF_Condition SIF_Element ObjectName SIF_Operator SIF_Value SIF_OrderBy SIF_Element ObjectName Ordering
 Element/@AttributeCharDescriptionType
 SIF_ExtendedQuery 

SIF's default query mechanism for SIF_Request, SIF_Query, has several limitations that limit its usefulness when creating reporting applications that process data from a SIF zone. SIF_Query is limited to matching only one object type per query, requiring applications to manually join together results as needed for reporting and general data processing. SIF_ExtendedQuery is designed to allow for joins on object identifiers/RefIds and to allow retrieval of data in a row/column fashion similar to SQL. Each returned column may contain hierarchical XML elements/objects. While envisioned as the primary mechanism for SIF-based ReportManifests, Providers and Responders in a Zone may support SIF_ExtendedQuery in addition to SIF_Query. Support for SIF_ExtendedQuery can be declared in and retrieved from the Zone is various Infrastructure messages and objects.

Note that matching rows are generated solely based on the SIF_From clause, with optional join criteria, optionally limited/filtered by the SIF_Where clause. If a repeatable element is requested as a column in SIF_Select, this does not generate multiple rows for each occurrence of matching elements; all elements are returned in the corresponding column within a single row.

 
 
 SIF_DestinationProviderO

If no SIF_DestinationId applies to the request and this element is supplied, the Requester specifies that the extended query be routed to the Provider on record for the given object name. If this element is omitted and no SIF_DestinationId applies to the request, the ZIS routes the request to the Provider on record for the object name in SIF_From.

 
SIF_RequestObjectNamesType
 SIF_SelectM

Identifies which data elements/attribute are to be returned as columns in each matching row.

 
 
@DistinctM

Specifies whether query results should return all rows (false) or just distinct ones (true). Rows are distinct if at least one column differs between them.

 
xs:boolean
@RowCountM

The maximum number of rows to return. If All, return all rows, otherwise return the top rows up to the maximum row count indicated.

 
union of:

xs:positiveInteger

additional values:

All
 SIF_Select/SIF_ElementMR

Indicates the element/attribute to return as a column. Contents can be left empty to return the whole object specified in ObjectName, or * can be designated to return all attributes and immediate child elements of the object specified in ObjectName, or SIF_Element Syntax can be specified, relative to the object specified in ObjectName. Requested attributes are to be returned as the text value of the corresponding attribute, elements as a copy of the XML element itself including attributes if they exist.

 
xs:normalizedString
@AliasO

Optional caption for the column.

 
xs:normalizedString
xs:maxLength64
@ObjectNameM

The name of the object from which to retrieve element/attributes.

 
SIF_RequestObjectNamesType
 SIF_FromM

Join specification for the query if more than one object is being queried. If only one object is being queried, specify it without the SIF_Join clause. This clause generates the matching rows returned, optionally limited/filtered by the SIF_Where clause. Each object referenced in the SIF_Select, SIF_Where and SIF_OrderBy clauses must be included here.

 
 
@ObjectNameM

The name of the object to query.

 
SIF_RequestObjectNamesType
 SIF_From/SIF_JoinOR

Additional objects to query, with join conditions specifying the relationships between objects.

 
 
@TypeM

Type of relational join.

 
values:
Inner
LeftOuter
RightOuter
FullOuter
 SIF_From/SIF_Join/SIF_JoinOn
     
MR

Specifies the conditions for the join.

 
 
 SIF_From/SIF_Join/SIF_JoinOn/
     SIF_LeftElement
M

Specifies the left-side element/attribute on which to constrain the join. Currently only support for keys/RefIds/RefId references is required.

 
xs:normalizedString
@ObjectNameM

Name of the object that contains the element/attribute.

 
SIF_RequestObjectNamesType
 SIF_From/SIF_Join/SIF_JoinOn/
     SIF_RightElement
M

Specifies right left-side element/attribute on which to constrain the join. Currently only support for keys/RefIds/RefId references is required.

 
xs:normalizedString
@ObjectNameM

Name of the object that contains the element/attribute.

 
SIF_RequestObjectNamesType
 SIF_WhereO

Optionally specifies conditions to limit/filter rows resulting from the SIF_From clause.

 
 
 SIF_Where/SIF_ConditionGroup
     
M

Conditions that matching rows must meet.

 
 
@TypeM

The Boolean operator for joining conditions (SIF_Conditions elements) within this element. Note that None should be used if there is only one SIF_Conditions element.

 
values:
And
Or
None
 SIF_Where/SIF_ConditionGroup/
     SIF_Conditions
MR

This construct allows for nested conditions.

 
 
@TypeM

The boolean operator for joining conditions (SIF_Condition elements) within this element. Note that None should be used if there is only one SIF_Condition element.

 
values:
And
Or
None
 SIF_Where/SIF_ConditionGroup/
     SIF_Conditions/SIF_Condition
     
MR

This element represents an individual condition.

 
 
 SIF_Where/SIF_ConditionGroup/
     SIF_Conditions/SIF_Condition/
     SIF_Element
M

This is the element/attribute being queried.

 
xs:normalizedString
@ObjectNameM

The name of the object containing the element/attribute.

 
SIF_RequestObjectNamesType
 SIF_Where/SIF_ConditionGroup/
     SIF_Conditions/SIF_Condition/
     SIF_Operator
M

The comparison operator for the condition.

 
values:
EQ
Equals
LT
Less Than
GT
Greater Than
LE
Less Than Or Equals
GE
Greater Than Or Equals
NE
Not Equals
 SIF_Where/SIF_ConditionGroup/
     SIF_Conditions/SIF_Condition/
     SIF_Value
M

SIF_Value is the data that is used to compare with the value of the element or attribute.

 
xs:string
 SIF_OrderByO

An optional list of elements/attributes by which to sort the resulting rows.

 
 
 SIF_OrderBy/SIF_ElementMR

Indicates the element/attribute by which to sort.

 
xs:normalizedString
@ObjectNameM

The name of the object containing the element/attribute.

 
SIF_RequestObjectNamesType
@OrderingM

Whether to order the element/attribute in ascending or descending order.

 
values:
Ascending
Descending
Table 5.1.11-1: SIF_ExtendedQuery
<SIF_ExtendedQuery> <SIF_Select Distinct="false" RowCount="All"> <SIF_Element ObjectName="StudentPersonal" /> </SIF_Select> <SIF_From ObjectName="StudentPersonal" /> </SIF_ExtendedQuery>
Example 5.1.11-1: Selecting all StudentPersonal objects
<SIF_ExtendedQuery> <SIF_Select Distinct="false" RowCount="All"> <SIF_Element ObjectName="StudentPersonal">*</SIF_Element> </SIF_Select> <SIF_From ObjectName="StudentPersonal" /> </SIF_ExtendedQuery>
Example 5.1.11-3: Selecting all attributes and immediate child elements of StudentPersonal as columns from all StudentPersonal objects
<SIF_ExtendedQuery> <SIF_Select Distinct="false" RowCount="All"> <SIF_Element ObjectName="StudentPersonal">@RefId</SIF_Element> <SIF_Element ObjectName="StudentPersonal">Name/FirstName</SIF_Element> <SIF_Element ObjectName="StudentPersonal">Name/LastName</SIF_Element> <SIF_Element ObjectName="StudentPersonal">EmailList</SIF_Element> </SIF_Select> <SIF_From ObjectName="StudentPersonal" /> </SIF_ExtendedQuery>
Example 5.1.11-5: Selecting specific attributes and elements from all StudentPersonal objects
<SIF_ExtendedQuery> <SIF_Select Distinct="true" RowCount="All"> <SIF_Element ObjectName="StudentPersonal" /> <SIF_Element ObjectName="StudentSchoolEnrollment" Alias="Student Entry Date">EntryDate</SIF_Element> </SIF_Select> <SIF_From ObjectName="StudentPersonal"> <SIF_Join Type="Inner"> <SIF_JoinOn> <SIF_LeftElement ObjectName="StudentPersonal">@RefId</SIF_LeftElement> <SIF_RightElement ObjectName="StudentSchoolEnrollment">@StudentPersonalRefId</SIF_RightElement> </SIF_JoinOn> </SIF_Join> </SIF_From> <SIF_Where> <SIF_ConditionGroup Type="And"> <SIF_Conditions Type="And"> <SIF_Condition> <SIF_Element ObjectName="StudentSchoolEnrollment">@SchoolInfoRefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>A3E90785EFDA330DACB00785EFDA330D</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element ObjectName="StudentSchoolEnrollment">@SchoolYear</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>2007</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element ObjectName="StudentSchoolEnrollment">@MembershipType</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Home</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="Or"> <SIF_Condition> <SIF_Element ObjectName="StudentSchoolEnrollment">@TimeFrame</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Current</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element ObjectName="StudentSchoolEnrollment">@TimeFrame</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Future</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Where> <SIF_OrderBy> <SIF_Element ObjectName="StudentPersonal" Ordering="Ascending">Name/LastName</SIF_Element> </SIF_OrderBy> </SIF_ExtendedQuery>
Example 5.1.11-7: Selecting StudentPersonal objects along with each student's EntryDate from StudentSchoolEnrollment for a specific school, school year and other StudentSchoolEnrollment values, sorted by student's last name
<SIF_ExtendedQuery> <SIF_Select Distinct="false" RowCount="All"> <SIF_Element ObjectName="StudentPersonal" /> <SIF_Element ObjectName="StudentSchoolEnrollment" /> <SIF_Element ObjectName="SchoolInfo">SchoolName</SIF_Element> </SIF_Select> <SIF_From ObjectName="StudentPersonal"> <SIF_Join Type="Inner"> <SIF_JoinOn> <SIF_LeftElement ObjectName="StudentPersonal">@RefId</SIF_LeftElement> <SIF_RightElement ObjectName="StudentSchoolEnrollment">@StudentPersonalRefId</SIF_RightElement> </SIF_JoinOn> </SIF_Join> <SIF_Join Type="Inner"> <SIF_JoinOn> <SIF_LeftElement ObjectName="StudentSchoolEnrollment">@SchoolInfoRefId</SIF_LeftElement> <SIF_RightElement ObjectName="SchoolInfo">@RefId</SIF_RightElement> </SIF_JoinOn> </SIF_Join> </SIF_From> <SIF_Where> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element ObjectName="StudentPersonal">@RefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>12345678901234567890123456789012</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Where> </SIF_ExtendedQuery>
Example 5.1.11-9: Selecting a specific StudentPersonal's StudentSchoolEnrollment objects, along with the corresponding school name for each enrollment

5.1.11.1 Mapping SIF_Query to SIF_ExtendedQuery

While there are differences in how matching objects are returned, note that all non-SIF_Example SIF_Query-based requests can be mapped to a corresponding SIF_ExtendedQuery-based request:

1 Place SIF_Query/SIF_QueryObject/@ObjectName in SIF_ExtendedQuery/SIF_From/@ObjectName.
2 If elements/attributes are specified in SIF_Query/SIF_QueryObject/SIF_Element, place them in SIF_ExtendedQuery/SIF_Select/SIF_Element with @ObjectName set to SIF_Query/SIF_QueryObject/@ObjectName. Otherwise in SIF_Select, specify an empty SIF_Element element with @ObjectName set to SIF_Query/SIF_QueryObject/@ObjectName.
3 If SIF_Query/SIF_ConditionGroup exists, place it in SIF_ExtendedQuery/SIF_Where setting @ObjectName to SIF_Query/SIF_QueryObject/@ObjectName in every occurrence of SIF_Element.
4 Set SIF_Select/@Distinct to false and SIF_Select/@RowCount to All.
Table 5.1.11.1-1: Mapping SIF_Query to SIF_ExtendedQuery
<SIF_Query> <SIF_QueryObject ObjectName="StudentPersonal"> <SIF_Element>Name/FirstName</SIF_Element> <SIF_Element>Name/LastName</SIF_Element> </SIF_QueryObject> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@RefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>F0F29E6AE742498D9CB91CBB3BE6890E</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query>
Example 5.1.11.1-1: Input SIF_Query
<SIF_ExtendedQuery> <SIF_Select Distinct="false" RowCount="All"> <SIF_Element ObjectName="StudentPersonal">Name/FirstName</SIF_Element> <SIF_Element ObjectName="StudentPersonal">Name/LastName</SIF_Element> </SIF_Select> <SIF_From ObjectName="StudentPersonal" /> <SIF_Where> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element ObjectName="StudentPersonal">@RefId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>F0F29E6AE742498D9CB91CBB3BE6890E</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Where> </SIF_ExtendedQuery>
Example 5.1.11.1-2: Corresponding SIF_ExtendedQuery

5.1.12 SIF_ExtendedQueryResults

This element provides a wrapper for data returned in response to a SIF_ExtendedQuery. Used in SIF_Response and SIF_ReportObject.

SIF_ExtendedQueryResults
Figure 5.1.12-1: SIF_ExtendedQueryResults SIF_ExtendedQueryResultsDataModelType SIF_ColumnHeaders SIF_Element ObjectName Alias xsi:type SIF_Rows R C
 Element/@AttributeCharDescriptionType
 SIF_ExtendedQueryResults 

This element provides a wrapper for data returned in response to a SIF_ExtendedQuery. Used in SIF_Response and SIF_ReportObject.

 
 
 SIF_ColumnHeadersM

Provides the element/attribute and caption information for each column supplied in SIF_ExtendedQuery. The order must correspond to the order of the elements as requested in SIF_ExtendedQuery.

 
 
 SIF_ColumnHeaders/SIF_Element
     
MR

The element/attribute specified for the column in SIF_ExtendedQuery.

 
xs:normalizedString
@ObjectNameM

The object in which the element/attribute occurs.

 
SIF_RequestObjectNamesType
@AliasO

The caption for the column, if specified in SIF_ExtendedQuery.

 
xs:normalizedString
xs:maxLength64
@xsi:typeO

Optionally allows type of column value to be explicitly communicated.

 
 
 SIF_RowsM

A list of matching rows resulting from the supplied SIF_ExtendedQuery. Note that the complete list of rows may span multiple SIF_Response messages, per the SIF_MaxBufferSize supplied in SIF_Request. If there are no matching rows, this is an empty list.

 
 
 SIF_Rows/ROR

An individual matching row resulting from the supplied SIF_ExtendedQuery.

 
 
 SIF_Rows/R/CMR

Contains the value of each column specified in SIF_ExtendedQuery/SIF_Select. The order of the columns must correspond to the order of the elements as requested in SIF_ExtendedQuery. Note the number of columns may be expanded from the requested columns if * is indicated one or more times in the SIF_Select clause.

 
SelectedContentType
Table 5.1.12-1: SIF_ExtendedQueryResults
<SIF_ExtendedQueryResults> <SIF_ColumnHeaders> <SIF_Element ObjectName="StudentPersonal" /> <SIF_Element ObjectName="StudentSchoolEnrollment" /> <SIF_Element ObjectName="SchoolInfo">SchoolName</SIF_Element> </SIF_ColumnHeaders> <SIF_Rows> <R> <C> <StudentPersonal RefId="12345678901234567890123456789012"> <!--...--> </StudentPersonal> </C> <C> <StudentSchoolEnrollment RefId="AED4AEF825284D7E9F082EBBEB1999FA" StudentPersonalRefId="12345678901234567890123456789012" SchoolInfoRefId="AED4AEF825284D7E9F082EBBEBB12345" MembershipType="Home" TimeFrame="Current" SchoolYear="2007"> <!--...--> </StudentSchoolEnrollment> </C> <C> <SchoolName>SIFA High</SchoolName> </C> </R> <R> <C> <StudentPersonal RefId="12345678901234567890123456789012"> <!--...--> </StudentPersonal> </C> <C> <StudentSchoolEnrollment RefId="AED4AEF825284D7E9F082EBBEB1999FA" StudentPersonalRefId="12345678901234567890123456789012" SchoolInfoRefId="ED4AEF825284D7E9F082EBBEBB678902" MembershipType="Concurrent" TimeFrame="Current" SchoolYear="2007"> <!--...--> </StudentSchoolEnrollment> </C> <C> <SchoolName>SIFA University</SchoolName> </C> </R> </SIF_Rows> </SIF_ExtendedQueryResults>
Example 5.1.12-1: SIF_ExtendedQueryResults

5.2 Messages

5.2.1 SIF_Ack

This message is used as an acknowledgement for infrastructure messages. All infrastructure messages will return a SIF_Ack as a result to indicate if the request was successful or not. A SIF_Ack must contain either a SIF_Status element acknowledging a successful result or a SIF_Error element describing the failure. The SIF_Error element contains a standardized error number as well as a description of the error.

A successful SIF_Ack is typically returned to the caller containing a SIF_Header, SIF_OriginalSourceId, SIF_OriginalMsgId and the SIF_Status element. In situations where additional information needs to be returned to the caller, a SIF_Data element can be added to the SIF_Status element.

In addition, successful SIF_Ack messages may also be sent to the ZIS under two conditions. The first is when a pull-mode agent requests that a message is to be removed from its queue. The second is when an agent which has invoked SMB wishes to end SMB handling. In that case, the agent sends a "Final" SIF_Ack to the ZIS. In each instance the ZIS returns a SIF_Ack in response to the agent's SIF_Ack message.

SIF_Ack
Figure 5.2.1-1: SIF_Ack SIF_Ack SIF_Header SIF_OriginalSourceId SIF_OriginalMsgId SIF_Status SIF_Error
 Element/@AttributeCharDescriptionType
 SIF_AckM

This message is used as an acknowledgement to an infrastructure message.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_OriginalSourceIdM

The SIF_SourceId of the infrastructure message for which the SIF_Ack serves as a response.

 
xs:token
 SIF_OriginalMsgIdM

The SIF_MsgId of the infrastructure message for which the SIF_Ack message serves as a response.

 
MsgIdType
 SIF_StatusC

This element is used to signal a successful response.

 
SIF_Status
 SIF_ErrorC

This element is used to signal an unsuccessful response.

 
SIF_Error
Table 5.2.1-1: SIF_Ack
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>AB1058CD3261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>SifInfo_TestZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseyLib</SIF_OriginalSourceId> <SIF_OriginalMsgId>1298ACEF3261545A31905937B265CE01</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>0</SIF_Code> <SIF_Data> <SIF_Message Version="2.3"> <SIF_Request> <SIF_Header> <SIF_MsgId>A3E90785EFDA330DACB00785EFDA330D</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:02-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_Version>2.*</SIF_Version> <SIF_MaxBufferSize>1048576</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="LibraryPatronStatus" /> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@SIF_RefObject</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>StaffPersonal</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> </SIF_Request> </SIF_Message> </SIF_Data> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.1-1: SIF_Ack Status Message
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>CD5087FE3261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>1945CD783261545A31905937B265CE01</SIF_OriginalMsgId> <SIF_Error> <SIF_Category>3</SIF_Category> <SIF_Code>5</SIF_Code> <SIF_Desc>Sender's certificate is not trusted</SIF_Desc> <SIF_ExtendedDesc>Agent requires certificate issued by ISD11 CA</SIF_ExtendedDesc> </SIF_Error> </SIF_Ack> </SIF_Message>
Example 5.2.1-3: SIF_Ack Error Message

5.2.2 SIF_Event

SIF_Event is used to deliver event objects as defined in SIF. Events represent the availability of a new data object, changes to, or deletions of data object.

SIF_Event
Figure 5.2.2-1: SIF_Event SIF_Event SIF_Header SIF_ObjectData SIF_EventObject ObjectName Action
 Element/@AttributeCharDescriptionType
 SIF_EventM

SIF_Event is used to deliver event objects as defined in SIF.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ObjectDataM  
 SIF_ObjectData/SIF_EventObject
     
M

Contains the actual object (partial or whole) that is being added, changed or deleted.

 
SIF_EventObjectType
@ObjectNameM

This is the name of the object being added, changed or deleted.

 
SIF_SubscribeObjectNamesType
@ActionM

This is the action associated with the object that is being conveyed by this SIF_Event.

 
values:
Add
Delete
Change
Table 5.2.2-1: SIF_Event
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Event> <SIF_Header> <SIF_MsgId>AB34DC093261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_ObjectData> <SIF_EventObject ObjectName="StudentPersonal" Action="Change"> <StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> </StudentPersonal> </SIF_EventObject> </SIF_ObjectData> </SIF_Event> </SIF_Message>
Example 5.2.2-1: SIF_Event Message with StudentPersonal changes

5.2.3 SIF_Provide

The SIF_Provide message is used to attempt registering as the provider of one or more data objects.

SIF_Provide
Figure 5.2.3-1: SIF_Provide SIF_Provide SIF_Header SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_ProvideM

The SIF_Provide message is used for advertising the provision of data objects.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ObjectMR

This is the object that is being provided.

 
 
@ObjectNameM

The actual name of the object that is being provided.

 
SIF_ProvideObjectNamesType
 SIF_Object/SIF_ExtendedQuerySupport
     
O

Whether or not the Agent supports SIF_ExtendedQuery for this object.

 
xs:boolean
 SIF_Object/SIF_ContextsO

The contexts in which the object is being provided; if omitted, the context is SIF_Default.

 
SIF_Contexts
Table 5.2.3-1: SIF_Provide
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Provide> <SIF_Header> <SIF_MsgId>34DC87FE3261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_Provide> </SIF_Message>
Example 5.2.3-1: SIF_Provide

5.2.4 SIF_Provision

Once registered, this message allows an agent to announce to the ZIS the functionality the agent will provide. The ZIS compares the functionality to its access control list and either returns a failure or a success. Upon success, the ZIS performs an atomic update of its provide/subscribe database entries for the agent to match the objects listed in this message and atomically updates other stored settings for the agent. A ZIS must not allow an agent to perform operations that it did not successfully announce. Agents should be aware that if the access control list changes after a successful SIF_Provision, some operations may still be rejected with access control errors.

SIF_Provision
Figure 5.2.4-1: SIF_Provision SIF_Provision SIF_Header SIF_ProvideObjects SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts SIF_SubscribeObjects SIF_Object ObjectName SIF_Contexts SIF_PublishAddObjects SIF_Object ObjectName SIF_Contexts SIF_PublishChangeObjects SIF_Object ObjectName SIF_Contexts SIF_PublishDeleteObjects SIF_Object ObjectName SIF_Contexts SIF_RequestObjects SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts SIF_RespondObjects SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_Provision 

Once registered, this message allows an agent to announce to the ZIS the functionality the agent will provide. The ZIS compares the functionality to its access control list and either returns a failure or a success. Upon success, the ZIS performs an atomic update of its provide/subscribe database entries for the agent to match the objects listed in this message and atomically updates other stored settings for the agent. A ZIS must not allow an agent to perform operations that it did not successfully announce. Agents should be aware that if the access control list changes after a successful SIF_Provision, some operations may still be rejected with access control errors.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ProvideObjectsM

A list of objects an Agent wishes to provide.

 
 
 SIF_ProvideObjects/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
SIF_ProvideObjectNamesType
 SIF_ProvideObjects/SIF_Object/
     SIF_ExtendedQuerySupport
O

Whether or not SIF_ExtendedQuery is supported with regard to this object.

 
xs:boolean
 SIF_ProvideObjects/SIF_Object/
     SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_SubscribeObjectsM

A list of objects to which an Agent wishes to subscribe.

 
 
 SIF_SubscribeObjects/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
SIF_SubscribeObjectNamesType
 SIF_SubscribeObjects/SIF_Object/
     SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_PublishAddObjectsM

A list of objects for which an Agent wishes to publish Add events.

 
 
 SIF_PublishAddObjects/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
SIF_SubscribeObjectNamesType
 SIF_PublishAddObjects/SIF_Object/
     SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_PublishChangeObjectsM

A list of objects for which an Agent wishes to publish Change events.

 
 
 SIF_PublishChangeObjects/
     SIF_Object
OR  
@ObjectNameM

The name of each object.

 
SIF_SubscribeObjectNamesType
 SIF_PublishChangeObjects/
     SIF_Object/SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_PublishDeleteObjectsM

A list of objects for which an Agent wishes to publish Delete events.

 
 
 SIF_PublishDeleteObjects/
     SIF_Object
OR  
@ObjectNameM

The name of each object.

 
SIF_SubscribeObjectNamesType
 SIF_PublishDeleteObjects/
     SIF_Object/SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_RequestObjectsM

A list of objects an Agent wishes to request.

 
 
 SIF_RequestObjects/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
SIF_RequestObjectNamesType
 SIF_RequestObjects/SIF_Object/
     SIF_ExtendedQuerySupport
O

Optionally specify whether or not SIF_ExtendedQuery may be sent in requests for this object.

 
xs:boolean
 SIF_RequestObjects/SIF_Object/
     SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
 SIF_RespondObjectsM

A list of objects for which an Agent wishes to handle requests, whether or not it is the Provider for each object. Note that this list MUST include those objects specified in SIF_ProvideObjects.

 
 
 SIF_RespondObjects/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
SIF_RequestObjectNamesType
 SIF_RespondObjects/SIF_Object/
     SIF_ExtendedQuerySupport
O

Whether or not SIF_ExtendedQuery is supported with regard to this object.

 
xs:boolean
 SIF_RespondObjects/SIF_Object/
     SIF_Contexts
O

Applicable contexts for stated object support. If omitted, the context defaults to SIF_Default.

 
SIF_Contexts
Table 5.2.4-1: SIF_Provision
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Provision> <SIF_Header> <SIF_MsgId>A10F92EB649F4A648B5BFC44C7FD965C</SIF_MsgId> <SIF_Timestamp>2006-08-18T11:23:11-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_ProvideObjects> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_ProvideObjects> <SIF_SubscribeObjects> <SIF_Object ObjectName="StudentPicture" /> </SIF_SubscribeObjects> <SIF_PublishAddObjects> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_PublishAddObjects> <SIF_PublishChangeObjects> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_PublishChangeObjects> <SIF_PublishDeleteObjects> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_PublishDeleteObjects> <SIF_RequestObjects> <SIF_Object ObjectName="StudentPicture" /> </SIF_RequestObjects> <SIF_RespondObjects> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StudentSchoolEnrollment" /> </SIF_RespondObjects> </SIF_Provision> </SIF_Message>
Example 5.2.4-1: SIF_Provision

5.2.5 SIF_Register

SIF_Register is the message for registering an agent with a ZIS. An agent must be registered before it sends out other SIF messages. SIF_Register serves to provide the ZIS with the sender's identification information as well as to provide the information that the ZIS will need to contact this agent, should it register in Push mode.

Once a sender registers in the ZIS with the SIF_Register message, the sender can use the SIF_SourceId value in the header of all other outgoing messages as its identification. It is not necessary to send a SIF_Register message each time your agent starts up but it is not an error to do so. If there are any blocked events in the Agent's queue when a ZIS receives the SIF_Register message, the blocks will be removed.

SIF_Register
Figure 5.2.5-1: SIF_Register SIF_Register SIF_Header SIF_Name SIF_Version SIF_MaxBufferSize SIF_Mode SIF_Protocol SIF_NodeVendor SIF_NodeVersion SIF_Application SIF_Vendor SIF_Product SIF_Version SIF_Icon
 Element/@AttributeCharDescriptionType
 SIF_RegisterM

SIF_Register is the message for registering an agent with a ZIS.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_NameM

This is the descriptive name of the agent that is registering (i.e. Ramsey Media Center).

 
xs:normalizedString
xs:maxLength64
 SIF_VersionMR

Specifies the SIF Implementation Specification version(s) defining messages the agent can receive. If the ZIS cannot communicate in this format, it should reject the request.

The format of SIF_Version values can be found in Version Numbers. In a SIF_Register message, an individual SIF_Version element may also contain the following wildcards:

* - Any SIF version

<major version>.* - Any minor version plus revisions within a major version (e.g., 1.*)

<major version>.<minor version><r>* - Any revision within a minor version (e.g., 1.1r*)

Note: As wildcarding was first introduced in version 1.1 of the specification, 1.* does not match versions 1.0, 1.0r1 or 1.0r2. 1.1 or later agents that register with 1.* and wish to also receive messages from pre-1.1 agents must include SIF_Version element(s) with the supported pre-1.1 versions.

 
VersionWithWildcardsType
 SIF_MaxBufferSizeM

Specifies the maximum size of a packet to be returned by the ZIS. The ZIS may return packets smaller than, or equal to, the maximum value.

 
xs:unsignedInt
 SIF_ModeM

Specifies the communication mode (Pull or Push) as chosen by the message sender.

 
values:
Push
Pull
 SIF_ProtocolC

If SIF_Mode is Push, SIF_Protocol contains protocol information for contacting the agent in Push mode. A Pull-mode agent does not need to send SIF_Protocol; if received, a ZIS ignores it.

 
SIF_Protocol
 SIF_NodeVendorO

The vendor of the SIF agent.

 
xs:normalizedString
xs:maxLength256
 SIF_NodeVersionO

The agent version number. The format of this field is undefined, but it should match the format used in the agent's conformance statement, if the agent is SIF Certified.

Examples
2.0.1.11

xs:normalizedString
xs:maxLength32
 SIF_ApplicationO

Contains information about the vendor of the product that the agent represents.

 
 
 SIF_Application/SIF_Vendor
     
M

The name of the company of the product that this agent supports.

 
xs:normalizedString
xs:maxLength256
 SIF_Application/SIF_Product
     
M

The name of the product that this agent supports.

 
xs:normalizedString
xs:maxLength256
 SIF_Application/SIF_Version
     
M

The version of the product. This field is informative only.

 
xs:normalizedString
xs:maxLength32
 SIF_IconO

HTTP URL referencing an icon for graphical representation of the application/agent. Should range from 16x16 pixels to 128x128 pixels and be of an image MIME type commonly supported by Web browsers (e.g. PNG, JPEG, GIF). Agents may optionally follow the more restrictive guidelines at [FAVICON].

 
xs:anyURI
Table 5.2.5-1: SIF_Register
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Register> <SIF_Header> <SIF_MsgId>14BA09653261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-06:00</SIF_Timestamp> <SIF_SourceId>AcmeAgent</SIF_SourceId> </SIF_Header> <SIF_Name>Acme Agent for WAP 2.x</SIF_Name> <SIF_Version>2.3</SIF_Version> <SIF_MaxBufferSize>524288</SIF_MaxBufferSize> <SIF_Mode>Push</SIF_Mode> <SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://AcmeHost:8030/StudentAdmin</SIF_URL> </SIF_Protocol> <SIF_NodeVersion>2.0.1.20</SIF_NodeVersion> <SIF_Application> <SIF_Vendor>Acme Consulting</SIF_Vendor> <SIF_Product>Web Administration Portal 5.x</SIF_Product> <SIF_Version>5.1.2</SIF_Version> </SIF_Application> </SIF_Register> </SIF_Message>
Example 5.2.5-1: SIF_Register

5.2.6 SIF_Request

This message is used to request information in SIF data objects from other SIF nodes. It optionally specifies the query criteria with which to match objects, as well as an optional subset of elements to be returned for matching objects.

SIF_Request
Figure 5.2.6-1: SIF_Request SIF_Request SIF_Header SIF_Version SIF_MaxBufferSize SIF_Query SIF_ExtendedQuery
 Element/@AttributeCharDescriptionType
 SIF_RequestM

SIF_Request is used to request information in SIF data objects from other SIF nodes.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_VersionMR

Specifies which SIF Implementation Specification version should be used when returning the response data; wildcards are allowed. The responding agent SHOULD return data using the highest version it supports that falls within the specified versions.

 
VersionWithWildcardsType
 SIF_MaxBufferSizeM

Specifies the maximum size of a response packet to be returned to the requester. The responder may return packets smaller than, or equal to, the maximum value. To guarantee delivery of response packets, requesting agents must not specify a SIF_MaxBufferSize greater than its registered SIF_Register/SIF_MaxBufferSize.

 
xs:unsignedInt
 SIF_QueryC

Either SIF_Query or SIF_ExtendedQuery must be specified, which contain the criteria to be used to match response objects.

 
SIF_Query
 SIF_ExtendedQueryC SIF_ExtendedQuery
Table 5.2.6-1: SIF_Request
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Request> <SIF_Header> <SIF_MsgId>A3E90785EFDA330DACB00785EFDA330D</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_Version>2.*</SIF_Version> <SIF_MaxBufferSize>1048576</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="LibraryPatronStatus" /> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@SIF_RefObject</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>StaffPersonal</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> </SIF_Request> </SIF_Message>
Example 5.2.6-1: SIF_Request

5.2.7 SIF_Response

SIF_Response is used to respond to a SIF_Request message. A response may span multiple SIF_Response messages.

SIF_Response
Figure 5.2.7-1: SIF_Response SIF_Response SIF_Header SIF_RequestMsgId SIF_PacketNumber SIF_MorePackets SIF_Error SIF_ObjectData SIF_ExtendedQueryResults
 Element/@AttributeCharDescriptionType
 SIF_ResponseM

SIF_Response is used to respond to a SIF_Request message.

 
 
 SIF_HeaderM

Header information associated with this message. The SIF_DestinationId needs to be the SIF_SourceId of the original SIF_Request message being processed.

 
SIF_Header
 SIF_RequestMsgIdM

This is the message ID of the SIF_Request message being processed. It provides a unique match between a SIF_Response and a previous SIF_Request. Since the ID of each message from an agent is unique, the receiver of a SIF_Response message will be able to relate the SIF_Response to a SIF_Request that it sent out previously.

 
MsgIdType
 SIF_PacketNumberM

This element represents the index of the SIF_Response message in the sequence of packets that make up a complete response. Its value must be in the range of 1 through n, with n equal to the total number of packets that make up a response.

The receiver of a SIF_Response message, with the help of the SIF_MorePackets and SIF_PacketNumber element in each incoming SIF_Response message, will be able to interpret and process each SIF_Response as part of a complete response to a previous SIF_Request.

 
xs:positiveInteger
 SIF_MorePacketsM

This element provides an indication as to whether there are more packets besides this one to make up a complete response.

The necessity of this element stems from the requirement on an agent to break response data to fit into the SIF_MaxBufferSize provided in the SIF_Request. Agents may also break response data into multiple packets for the benefit of improving performance or for circumventing limitations of the underlying network infrastructure.

When this element's value is equal to No, it is an indication from the sender to the receiver that it has already sent out all the packets that make up a complete response for a SIF_Request as indicated by the SIF_RequestMsgId element.

 
values:
Yes
No
 SIF_ErrorC

The responder returns SIF_Error, SIF_ObjectData or SIF_ExtendedQueryResults.

This element allows the Responder to report an error condition that occurs while processing the SIF_Request.

If a SIF_Error element is present, the requesting agent must not expect to receive further SIF_Responses to the SIF_Request.

 
SIF_Error
 SIF_ObjectDataC

The SIF_ObjectData element contains the data objects matching the supplied criteria in the SIF_Request message if the SIF_Request contained SIF_Query. If the SIF_Request contained SIF_ExtendedQuery, include SIF_ExtendedQueryResults.

 
SIF_ResponseObjectsType
 SIF_ExtendedQueryResultsC

This element contains the elements requested by SIF_ExtendedQuery in SIF_Request.

 
SIF_ExtendedQueryResults
Table 5.2.7-1: SIF_Response
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>1BCD10580EF250789012AC0554321EA2</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>SISAgent</SIF_SourceId> <SIF_DestinationId>NetworkAgent</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>FE1078BA3261545A319059376B3A4898</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>No</SIF_MorePackets> <SIF_ObjectData> <StudentPersonal RefId="E3E34B359D75101A8C3D00AA00184753"> <Name Type="04"> <LastName>Johnson</LastName> <FirstName>Alicia</FirstName> </Name> </StudentPersonal> </SIF_ObjectData> </SIF_Response> </SIF_Message>
Example 5.2.7-1: Sample single-packet SIF_Response to a SIF_Request for the Name element from a StudentPersonal object
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>322925BC9818433E8090D5110EE61DA3</SIF_MsgId> <SIF_Timestamp>2006-04-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>SISAgent</SIF_SourceId> <SIF_DestinationId>NetworkAgent</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>FE1078BA3261545A31905937B265CE01</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>Yes</SIF_MorePackets> <SIF_ObjectData> <StudentPersonal RefId="E3E34B359D75101A8C3D00AA00184753"> <Name Type="04"> <LastName>Johnson</LastName> <FirstName>Alicia</FirstName> </Name> </StudentPersonal> </SIF_ObjectData> </SIF_Response> </SIF_Message>
Example 5.2.7-3: SIF_Response (first packet)
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>322925BC9818433E8090D51256786BC9</SIF_MsgId> <SIF_Timestamp>2006-04-18T08:39:49-08:00</SIF_Timestamp> <SIF_SourceId>SISAgent</SIF_SourceId> <SIF_DestinationId>NetworkAgent</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>FE1078BA3261545A31905937B265CE01</SIF_RequestMsgId> <SIF_PacketNumber>2</SIF_PacketNumber> <SIF_MorePackets>No</SIF_MorePackets> <SIF_ObjectData> <StudentPersonal RefId="F14B5B359D75101A8C3D00AA00184753"> <Name Type="04"> <LastName>Smith</LastName> <FirstName>Alicia</FirstName> </Name> </StudentPersonal> </SIF_ObjectData> </SIF_Response> </SIF_Message>
Example 5.2.7-5: SIF_Response (second packet)
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>F557D40A1367455E9F01DED76E29260C</SIF_MsgId> <SIF_Timestamp>2006-04-18T08:43:08-08:00</SIF_Timestamp> <SIF_SourceId>SISAgent</SIF_SourceId> <SIF_DestinationId>NetworkAgent</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>971D7C7EF2684C7081A7765BF89FAD14</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>No</SIF_MorePackets> <SIF_ObjectData /> </SIF_Response> </SIF_Message>
Example 5.2.7-7: SIF_Response with no matching objects

5.2.8 SIF_Subscribe

This message is used to subscribe to event objects that are contained in this message.

SIF_Subscribe
Figure 5.2.8-1: SIF_Subscribe SIF_Subscribe SIF_Header SIF_Object ObjectName SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_SubscribeM

This message is used to subscribe to event objects that are contained in this message.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ObjectMR  
@ObjectNameM

The actual name of the object that is being subscribed to. All valid SIF_Events for this object will be routed to the subscriber.

 
SIF_SubscribeObjectNamesType
 SIF_Object/SIF_ContextsO

The contexts to which the subscription applies; if omitted, the context is SIF_Default.

 
SIF_Contexts
Table 5.2.8-1: SIF_Subscribe
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Subscribe> <SIF_Header> <SIF_MsgId>AB2065FD3261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StaffPersonal" /> </SIF_Subscribe> </SIF_Message>
Example 5.2.8-1: SIF_Subscribe

5.2.9 SIF_SystemControl

A SIF_SystemControl message is designed to control the flow of data between an agent and ZIS or vice-versa, and to synchronously retrieve data available from the ZIS. The SIF_SystemControl message is a container for a number of specialized control messages. SIF_SystemControl messages are handled immediately by receivers and are not persisted in a message queue for later delivery.

SIF_SystemControl
Figure 5.2.9-1: SIF_SystemControl SIF_SystemControl SIF_Header SIF_SystemControlData SIF_Ping SIF_Sleep SIF_Wakeup SIF_GetMessage SIF_GetZoneStatus SIF_GetAgentACL SIF_CancelRequests
 Element/@AttributeCharDescriptionType
 SIF_SystemControlM

This message is designed to control the flow of data an agent and ZIS or vice-versa, and to synchronously retrieve data available from the ZIS.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_SystemControlDataM

This element holds the sub-message being sent.

 
choice of:

SIF_Ping
SIF_Sleep
SIF_Wakeup
SIF_GetMessage
SIF_GetZoneStatus
SIF_GetAgentACL
SIF_CancelRequests
Table 5.2.9-1: SIF_SystemControl
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>C332B8A9DFA5480AB89B6B6F62BE57B3</SIF_MsgId> <SIF_Timestamp>2006-12-27T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_Ping /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.9-1: SIF_SystemControl

5.2.10 SIF_Ping

SIF_Ping is sent to detect if a ZIS or push-mode agent is ready to receive and process messages.

SIF_Ping
Figure 5.2.10-1: SIF_Ping SIF_Ping
 Element/@AttributeCharDescriptionType
 SIF_PingM

This sub-message detects if an a Push-Mode Agent or ZIS is ready to receive and process messages.

 
EMPTY
Table 5.2.10-1: SIF_Ping
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>C332B8A9DFA5480AB89B6B6F62BE57B3</SIF_MsgId> <SIF_Timestamp>2006-12-27T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_Ping /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.10-1: SIF_Ping
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>AE9E2BD747B94F4D8545E41F482854C8</SIF_MsgId> <SIF_Timestamp>2006-10-14T14:23:20-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseyZIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>9812ABFD3261545A31905937B265CE01</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>1</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.10-3: SIF_SystemControl—SIF_Ping ("Okay" status)
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>3C11DFF1451C4E9A8A1F07E03C1D7FBB</SIF_MsgId> <SIF_Timestamp>2006-10-14T14:24:31-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseyZIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>9812ABFD3261545A31905937B265CE01</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>8</SIF_Code> <SIF_Desc>Receiver is sleeping</SIF_Desc> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.10-5: SIF_SystemControl—SIF_Ping ("Receiver is sleeping" status)
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>1594A3B29DD34786B5EA77998899F49F</SIF_MsgId> <SIF_Timestamp>2006-10-14T14:24:31-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>9812ABFD3261545A31905937B265CE01</SIF_OriginalMsgId> <SIF_Error> <SIF_Category>10</SIF_Category> <SIF_Code>4</SIF_Code> <SIF_Desc>Unable to establish connection</SIF_Desc> <SIF_ExtendedDesc>Error 10061: Connection refused</SIF_ExtendedDesc> </SIF_Error> </SIF_Ack> </SIF_Message>
Example 5.2.10-7: SIF_SystemControl—SIF_Ping (Transport error returned)

5.2.11 SIF_Sleep

The SIF_Sleep message allows an agent to notify a ZIS or a ZIS to notify a push-mode agent that it must not send any more messages to the sender of the SIF_Sleep. After the sender receives a SIF_Ack indicating that the message was received, the receiver must not send any further messages to the sender.

This message provides the ability to signal an agent or ZIS that the sender will be unable to process further messages until some time in the future. Reasons for sending a SIF_Sleep message include the sender is unable to process more data because of limited resources (i.e. disk storage, network bandwidth, etc.), or the sender is being temporarily shutdown and will be unable to receive messages.

Since the sender may send a SIF_Sleep message for a variety of reasons, if the receiver sends messages after a SIF_Sleep message but prior to receiving a SIF_Wakeup or SIF_Register message from the sender, an error must be returned. A transport error will occur or be returned if a connection cannot be established with the sender, or the sender may choose to receive the connection but return an error.

If the sender is an agent, the ZIS will continue to hold any messages for the agent in the queue but the ZIS will not send those messages until a SIF_Wakeup (or SIF_Register) message is received. If an agent is processing a message requiring additional SIF_Requests to be sent to the ZIS and a SIF_Sleep message is received from the ZIS, the agent will not be able to retrieve the additional data. The agent must abort the processing of the message and only attempt to process the message after receiving a SIF_Wakeup message from the ZIS.

An agent or ZIS is not required to be able to send SIF_Sleep messages. However, if an agent or ZIS has the ability to send a SIF_Sleep, it must also be able to send a SIF_Wakeup. Although the sending of SIF_Sleep is optional, an agent or ZIS must always be able to process and respond appropriately to these messages if received.

SIF_Sleep
Figure 5.2.11-1: SIF_Sleep SIF_Sleep
 Element/@AttributeCharDescriptionType
 SIF_SleepM

This sub-message tells a receiver not to send any more messages to the sender.

 
EMPTY
Table 5.2.11-1: SIF_Sleep
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>1594A3B29DD34786B5EA77998899F49F</SIF_MsgId> <SIF_Timestamp>2006-10-14T14:28:19-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_Sleep /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.11-1: SIF_Sleep
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>9F5167FA5CA848F99EB27544B314AF4D</SIF_MsgId> <SIF_Timestamp>2006-10-14T14:29:09-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseyZIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>1594A3B29DD34786B5EA77998899F49F</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>1</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.11-3: SIF_Ack with "Okay" status in response to SIF_Sleep

5.2.12 SIF_Wakeup

When the "sleeping" agent or ZIS is ready to resume message processing, it will send a SIF_Wakeup message. This will signal the receiver that the sender is now able to process messages. Sending a SIF_Wakeup message without a previous SIF_Sleep message is permissible and is not considered an error.

If there are any blocked events in the Agent's queue when a ZIS receives the SIF_Wakeup message, the blocks will be removed.

Since a ZIS may choose to stop sending messages to an agent if a connection cannot be made with that agent, it is recommended that an agent send a SIF_Wakeup message to the ZIS upon agent startup.

An agent or ZIS is not required to be able to send SIF_Wakeup messages. Although the sending of SIF_Wakeup is optional, an agent or ZIS must always be able to process and respond to these messages correctly if received.

SIF_Wakeup
Figure 5.2.12-1: SIF_Wakeup SIF_Wakeup
 Element/@AttributeCharDescriptionType
 SIF_WakeupM

This message tells a receiver that the sender is able to process messages.

 
EMPTY
Table 5.2.12-1: SIF_Wakeup
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>715A32E026B0495A826DF84E821949BD</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:34:22-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_Wakeup /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.12-1: SIF_Wakeup
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>5631E28868E3482EAA51B6CDE4145957</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:34:48-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseyZIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>715A32E026B0495A826DF84E821949BD</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>1</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.12-3: SIF_Ack with an "Okay" status in response to SIF_Wakeup

5.2.12.1 SIF_Sleep/SIF_Wakeup versus SIF_Register/SIF_Unregister

Using the SIF_Wakeup message is the preferred method of communicating that an agent or ZIS is ready to process messages. This is preferable over the use of a SIF_Register message because a SIF_Register message specifies protocol information while the SIF_Sleep/SIF_Wakeup pair communicates flow control information. However, when a SIF_Register message is processed, the receiver must behave like a SIF_Wakeup message was also received.

It is important to note that while SIF_Sleep and SIF_Wakeup are opposites of one another, this is not the case with SIF_Register and SIF_Unregister. This is because a SIF_Unregister command removes essential agent configuration information such as the provision and subscription lists, which will not be specified by a subsequent SIF_Register command. (SIF_Unregister also causes any messages pending delivery to the agent to be purged from the agent's queue.) In other words, a SIF_Register alone will not reverse the effects of a SIF_Unregister.

5.2.13 SIF_GetMessage

The SIF_GetMessage message provides the mechanism for an agent to pull message from a ZIS. An agent sends a SIF_GetMessage and the ZIS returns the next available message, subject to Selective Message Blocking, wrapped in a SIF_Ack with a SIF_Status/SIF_Code of 0 and the message in the SIF_Status/SIF_Data element. If there are no messages to be returned, the ZIS returns a value of 9 in SIF_Status/SIF_Code.

If an agent is not registered with a mode of Pull the ZIS will return a SIF_Ack with an error category of Registration and an error code indicating the agent is registered in Push mode.

SIF_GetMessage
Figure 5.2.13-1: SIF_GetMessage SIF_GetMessage
 Element/@AttributeCharDescriptionType
 SIF_GetMessageM

This message tells the ZIS to return the first available message to the agent, subject to Selective Message Blocking.

 
EMPTY
Table 5.2.13-1: SIF_GetMessage
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>B0E80A74265A4A75ADDC0ECC50AEF737</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:54:32-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_GetMessage /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.13-1: SIF_GetMessage
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>9861A45AAC364607938A7DB440514DDF</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:54:42-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>B0E80A74265A4A75ADDC0ECC50AEF737</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>0</SIF_Code> <SIF_Data> <SIF_Message Version="2.3"> <SIF_Event> <SIF_Header> <SIF_MsgId>AB34DC093261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:40:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_ObjectData> <SIF_EventObject ObjectName="StudentPersonal" Action="Change"> <StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> </StudentPersonal> </SIF_EventObject> </SIF_ObjectData> </SIF_Event> </SIF_Message> </SIF_Data> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.13-3: SIF_Ack in response to SIF_GetMessage
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>9861A45AAC364607938A7DB440514DDF</SIF_MsgId> <SIF_Timestamp>2006-10-14T15:54:42-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>B0E80A74265A4A75ADDC0ECC50AEF737</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>9</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.13-5: SIF_Ack in response to SIF_GetMessage (no message in queue)

5.2.14 SIF_GetZoneStatus

The SIF_GetZoneStatus message provides the agent with the ability to synchronously retrieve the current status of the zone, by-passing the asynchronous nature of retrieving the zone status by sending a SIF_Request for SIF_ZoneStatus and waiting for the arrival of the SIF_ZoneStatus response at the top of its queue. Agents may also use the asynchronous model for requesting SIF_ZoneStatus, if and when desired.

SIF_GetZoneStatus
Figure 5.2.14-1: SIF_GetZoneStatus SIF_GetZoneStatus
 Element/@AttributeCharDescriptionType
 SIF_GetZoneStatusM

This message tells the ZIS to return the current SIF_ZoneStatus in a SIF_Ack.

 
EMPTY
Table 5.2.14-1: SIF_GetZoneStatus
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>91401B5073F54AB1AEBC63E51764C77A</SIF_MsgId> <SIF_Timestamp>2006-10-14T16:09:54-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_GetZoneStatus /> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.14-1: SIF_GetZoneStatus
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>C4BF5F868EEC4A41AF7DAF316C4E89DC</SIF_MsgId> <SIF_Timestamp>2006-10-14T16:10:42-08:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>91401B5073F54AB1AEBC63E51764C77A</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>0</SIF_Code> <SIF_Data> <SIF_ZoneStatus ZoneId="SIFExampleZone">...</SIF_ZoneStatus> </SIF_Data> </SIF_Status> </SIF_Ack> </SIF_Message>
Example 5.2.14-3: SIF_Ack containing SIF_ZoneStatus

5.2.15 SIF_GetAgentACL

The SIF_GetAgentACL message provides the agent with the ability to synchronously retrieve its Access Control List permissions in the Zone via SIF_AgentACL. Agents may also use the asynchronous model of SIF_Request for requesting SIF_AgentACL, if and when desired.

SIF_GetAgentACL
Figure 5.2.15-1: SIF_GetAgentACL SIF_GetAgentACL
 Element/@AttributeCharDescriptionType
 SIF_GetAgentACLM

This message tells the ZIS to return the Agent's ACL permissions in a SIF_Ack.

 
EMPTY
Table 5.2.15-1: SIF_GetAgentACL

5.2.16 SIF_CancelRequests

The SIF_SystemControl—SIF_CancelRequests message allows an Agent or ZIS to notify a ZIS or Push-Mode Agent, respectively, that the specified SIF_Requests should be cancelled, whether pending or in process. Handling by a Push-Mode Agent is optional; if unsupported, the Agent returns a Generic Message Handling error upon receipt of the SIF_SystemControl message, error code "Message not supported."

SIF_CancelRequests
Figure 5.2.16-1: SIF_CancelRequests SIF_CancelRequests SIF_NotificationType SIF_RequestMsgIds SIF_RequestMsgId
 Element/@AttributeCharDescriptionType
 SIF_CancelRequestsM

This sub-message asks a receiver (ZIS or Push-Mode Agent) to cancel the specified SIF_Requests, pending or in process.

 
 
 SIF_NotificationTypeM values:
Standard
ZIS will send a "final" SIF_Response for each cancelled SIF_Request.
None
No further SIF_Responses for these requests will be placed in the Agent's queue.
 SIF_RequestMsgIdsMThe list of SIF_Requests to cancel. List
 SIF_RequestMsgIds/SIF_RequestMsgId
     
MRThis is the SIF_MsgId of the SIF_Request message being cancelled. MsgIdType
Table 5.2.16-1: SIF_CancelRequests
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_SystemControl> <SIF_Header> <SIF_MsgId>C332B8A9DFA5480AB89B6B6F62BE57B3</SIF_MsgId> <SIF_Timestamp>2006-12-27T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>AcmeAgent</SIF_SourceId> </SIF_Header> <SIF_SystemControlData> <SIF_CancelRequests> <SIF_NotificationType>None</SIF_NotificationType> <SIF_RequestMsgIds> <SIF_RequestMsgId>C332B8A9DFA5480AB89B6B6F62BE57B3</SIF_RequestMsgId> <SIF_RequestMsgId>1058ABCDE028D076F08365109BE7C892</SIF_RequestMsgId> </SIF_RequestMsgIds> </SIF_CancelRequests> </SIF_SystemControlData> </SIF_SystemControl> </SIF_Message>
Example 5.2.16-1: SIF_CancelRequests

5.2.17 SIF_Unprovide

This message performs the opposite function of SIF_Provide. It removes the message sender as a provider of the data objects contained in this message.

SIF_Unprovide
Figure 5.2.17-1: SIF_Unprovide SIF_Unprovide SIF_Header SIF_Object ObjectName SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_UnprovideM

This message performs the opposite function of SIF_Provide.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ObjectMR

This is the object that is being removed from the provider list.

 
 
@ObjectNameM

The actual name of the object that is being removed.

 
SIF_ProvideObjectNamesType
 SIF_Object/SIF_ContextsO

The contexts from which the object is being removed; if omitted, the context is SIF_Default.

 
SIF_Contexts
Table 5.2.17-1: SIF_Unprovide
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Unprovide> <SIF_Header> <SIF_MsgId>76EFAB543261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseySIS</SIF_SourceId> </SIF_Header> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StaffPersonal" /> </SIF_Unprovide> </SIF_Message>
Example 5.2.17-1: SIF_Unprovide

5.2.18 SIF_Unregister

This message allows an agent to remove any association it has with the ZIS. By sending this message, the ZIS will remove all provisions and subscriptions it maintains for the sender and discards any messages pending for the agent.

SIF_Unregister
Figure 5.2.18-1: SIF_Unregister SIF_Unregister SIF_Header
 Element/@AttributeCharDescriptionType
 SIF_UnregisterM

This message is used to unregister an agent from a Zone.

 
 
 SIF_HeaderM

Header information contained in the message.

 
SIF_Header
Table 5.2.18-1: SIF_Unregister
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Unregister> <SIF_Header> <SIF_MsgId>1057FABD3261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseyFOOD</SIF_SourceId> </SIF_Header> </SIF_Unregister> </SIF_Message>
Example 5.2.18-1: SIF_Unregister

5.2.19 SIF_Unsubscribe

This message performs the opposite function of SIF_Subscribe. It removes the message sender as a subscriber to the SIF_Events contained in this message.

SIF_Unsubscribe
Figure 5.2.19-1: SIF_Unsubscribe SIF_Unsubscribe SIF_Header SIF_Object ObjectName SIF_Contexts
 Element/@AttributeCharDescriptionType
 SIF_UnsubscribeM

This message is used to unsubscribe from SIF_Events.

 
 
 SIF_HeaderM

Header information associated with this message.

 
SIF_Header
 SIF_ObjectMR  
@ObjectNameM

The actual name of the object from which the agent should be unsubscribed. Events pertaining to this object published after successful unsubscription will no longer be queued for delivery to the agent. Events already queued for delivery to the agent prior to unsubscription will be delivered.

 
SIF_SubscribeObjectNamesType
 SIF_Object/SIF_ContextsO

The applicable contexts; if omitted, the context is SIF_Default.

 
SIF_Contexts
Table 5.2.19-1: SIF_Unsubscribe
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Unsubscribe> <SIF_Header> <SIF_MsgId>101AE3703261545A31905937B265CE01</SIF_MsgId> <SIF_Timestamp>2006-02-18T20:39:12-08:00</SIF_Timestamp> <SIF_SourceId>RamseyFOOD</SIF_SourceId> </SIF_Header> <SIF_Object ObjectName="StudentPersonal" /> <SIF_Object ObjectName="StaffPersonal" /> </SIF_Unsubscribe> </SIF_Message>
Example 5.2.19-1: SIF_Unsubscribe

5.3 Objects

5.3.1 SIF_ZoneStatus

The SIF_ZoneStatus object is an object that is implicitly provided by all Zone Integration Servers to provide information about the ZIS. Zone Integration Servers MUST provide this object.

Change events are supported on SIF_ZoneStatus.

SIF_ZoneStatus
Figure 5.3.1-1: SIF_ZoneStatus SIF_ZoneStatus ZoneId SIF_Name SIF_Icon SIF_Vendor SIF_Name SIF_Product SIF_Version SIF_Providers SIF_Provider SourceId SIF_ObjectList SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts SIF_Subscribers SIF_Subscriber SourceId SIF_ObjectList SIF_Object ObjectName SIF_Contexts SIF_AddPublishers SIF_Publisher SourceId SIF_ObjectList SIF_Object ObjectName SIF_Contexts SIF_ChangePublishers SIF_Publisher SourceId SIF_ObjectList SIF_Object ObjectName SIF_Contexts SIF_DeletePublishers SIF_Publisher SourceId SIF_ObjectList SIF_Object ObjectName SIF_Contexts SIF_Responders SIF_Responder SourceId SIF_ObjectList SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts SIF_Requesters SIF_Requester SourceId SIF_ObjectList SIF_Object ObjectName SIF_ExtendedQuerySupport SIF_Contexts SIF_SIFNodes SIF_SIFNode Type SIF_Name SIF_Icon SIF_NodeVendor SIF_NodeVersion SIF_Application SIF_Vendor SIF_Product SIF_Version SIF_SourceId SIF_Mode SIF_Protocol SIF_VersionList SIF_Version SIF_AuthenticationLevel SIF_EncryptionLevel SIF_MaxBufferSize SIF_Sleeping SIF_SupportedAuthentication SIF_ProtocolName SIF_SupportedProtocols SIF_Protocol SIF_SupportedVersions SIF_Version SIF_AdministrationURL SIF_Contexts SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SIF_ZoneStatus 

The SIF_ZoneStatus object is an object that is implicitly provided by all Zone Integration Servers to provide information about the ZIS. Zone Integration Servers MUST provide this object.

 
 
@
key
ZoneIdM

The identifier for this Zone. It is the same as the SIF_SourceId that the ZIS would place in any SIF_Header that it creates.

 
xs:token
 SIF_NameM

The descriptive name for the zone.

 
xs:normalizedString
 SIF_IconO

HTTP URL referencing an icon for graphical representation of the ZIS/Zone. Should range from 16x16 pixels to 128x128 pixels and be of an image MIME type commonly supported by Web browsers (e.g. PNG, JPEG, GIF). Agents may optionally follow the more restrictive guidelines at [FAVICON].

 
xs:anyURI
 SIF_VendorO

Contains information about the vendor that wrote this ZIS.

 
 
 SIF_Vendor/SIF_NameM

The name of the company that wrote the ZIS.

 
xs:normalizedString
 SIF_Vendor/SIF_ProductM

The product name assigned by the vendor to identify this ZIS.

 
xs:normalizedString
 SIF_Vendor/SIF_VersionM

The version of the vendor's product—not necessarily the SIF version.

 
xs:normalizedString
 SIF_ProvidersC

Encompasses all the providers registered with this ZIS. This element is mandatory if there are providers registered with the ZIS.

 
List
 SIF_Providers/SIF_Provider
     
MR  
@SourceIdM

The identifier of the SIF node that is providing objects. This is the agent or ZIS identifier that would appear in the SIF_SourceId field of any SIF_Header created by the SIF node.

 
xs:token
xs:maxLength64
 SIF_Providers/SIF_Provider/
     SIF_ObjectList
M List
 SIF_Providers/SIF_Provider/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being provided by this SIF node.

 
ObjectNameType
 SIF_Providers/SIF_Provider/
     SIF_ObjectList/SIF_Object/
     SIF_ExtendedQuerySupport
M xs:boolean
 SIF_Providers/SIF_Provider/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_SubscribersC

Encompasses all the subscribers registered with this ZIS. This element is mandatory if there are subscribers registered with the ZIS.

 
List
 SIF_Subscribers/SIF_Subscriber
     
MR  
@SourceIdM

The identifier of the SIF node that is subscribing to the object events. This is the agent or ZIS identifier that would appear in the SIF_SourceId field of any SIF_Header created by the SIF node.

 
xs:token
xs:maxLength64
 SIF_Subscribers/SIF_Subscriber/
     SIF_ObjectList
M List
 SIF_Subscribers/SIF_Subscriber/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being subscribed to by this SIF node.

 
ObjectNameType
 SIF_Subscribers/SIF_Subscriber/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_AddPublishersC

Encompasses all the Add SIF_Event publishers registered with this zone.

 
List
 SIF_AddPublishers/SIF_Publisher
     
MR  
@SourceIdM

The identifier of the SIF node that can publish the SIF_Event. This is the agent identifier that would appear in the SIF_SourceId field of any SIF_Header created by the agent.

 
xs:token
xs:maxLength64
 SIF_AddPublishers/SIF_Publisher/
     SIF_ObjectList
M List
 SIF_AddPublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being published by this agent.

 
ObjectNameType
 SIF_AddPublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_ChangePublishersC

Encompasses all the Change SIF_Event publishers registered with this zone.

 
List
 SIF_ChangePublishers/SIF_Publisher
     
MR  
@SourceIdM

The identifier of the SIF node that can publish the SIF_Event. This is the agent identifier that would appear in the SIF_SourceId field of any SIF_Header created by the agent.

 
xs:token
xs:maxLength64
 SIF_ChangePublishers/SIF_Publisher/
     SIF_ObjectList
M List
 SIF_ChangePublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being published by this agent.

 
ObjectNameType
 SIF_ChangePublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_DeletePublishersC

Encompasses all the Delete SIF_Event publishers registered with this zone.

 
List
 SIF_DeletePublishers/SIF_Publisher
     
MR  
@SourceIdM

The identifier of the SIF node that can publish the SIF_Event. This is the agent identifier that would appear in the SIF_SourceId field of any SIF_Header created by the agent.

 
xs:token
xs:maxLength64
 SIF_DeletePublishers/SIF_Publisher/
     SIF_ObjectList
M List
 SIF_DeletePublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being published by this agent.

 
ObjectNameType
 SIF_DeletePublishers/SIF_Publisher/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_RespondersC

Encompasses all the responders registered with this zone.

 
List
 SIF_Responders/SIF_Responder
     
MR  
@SourceIdM

The identifier of the SIF node that can respond. This is the agent identifier that would appear in the SIF_SourceId field of any SIF_Header created by the agent.

 
xs:token
xs:maxLength64
 SIF_Responders/SIF_Responder/
     SIF_ObjectList
M List
 SIF_Responders/SIF_Responder/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object for which the agent can respond to requests.

 
ObjectNameType
 SIF_Responders/SIF_Responder/
     SIF_ObjectList/SIF_Object/
     SIF_ExtendedQuerySupport
M xs:boolean
 SIF_Responders/SIF_Responder/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_RequestersC

Encompasses all the requesters registered with this zone.

 
List
 SIF_Requesters/SIF_Requester
     
MR  
@SourceIdM

The identifier of the SIF node that can request an object. This is the agent identifier that would appear in the SIF_SourceId field of any SIF_Header created by the agent.

 
xs:token
xs:maxLength64
 SIF_Requesters/SIF_Requester/
     SIF_ObjectList
M List
 SIF_Requesters/SIF_Requester/
     SIF_ObjectList/SIF_Object
     
MR  
@ObjectNameM

The name of the object being requested by this agent.

 
ObjectNameType
 SIF_Requesters/SIF_Requester/
     SIF_ObjectList/SIF_Object/
     SIF_ExtendedQuerySupport
M xs:boolean
 SIF_Requesters/SIF_Requester/
     SIF_ObjectList/SIF_Object/
     SIF_Contexts
M SIF_Contexts
 SIF_SIFNodesC

Encompasses all of the nodes registered with the ZIS. This element is mandatory if there are SIF nodes registered.

 
List
 SIF_SIFNodes/SIF_SIFNodeMR  
@TypeM

The type of the node registered with the ZIS. Note that ZIS is forward-looking and not used currently; all information about this Zone/ZIS is contained outside SIF_SIFNodes.

 
values:
Agent
ZIS
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Name
M

The descriptive name of the SIF node (i.e. Ramsey Food Services).

 
xs:normalizedString
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Icon
O

HTTP URL referencing an icon for graphical representation of the application/agent. Should range from 16x16 pixels to 128x128 pixels and be of an image MIME type commonly supported by Web browsers (e.g. PNG, JPEG, GIF). Agents may optionally follow the more restrictive guidelines at [FAVICON].

 
xs:anyURI
 SIF_SIFNodes/SIF_SIFNode/
     SIF_NodeVendor
O

The vendor of the SIF agent.

 
xs:normalizedString
xs:maxLength256
 SIF_SIFNodes/SIF_SIFNode/
     SIF_NodeVersion
O

The agent version number. The format of this field is undefined, but it should match the format used in the agent's conformance statement, if the agent is SIF Certified.

Examples
2.0.1.11

xs:normalizedString
xs:maxLength32
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Application
O

Contains information about the vendor of the product that the agent represents.

 
 
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Application/SIF_Vendor
     
M

The name of the company of the product that this agent supports.

 
xs:normalizedString
xs:maxLength256
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Application/SIF_Product
     
M

The name of the product that this agent supports.

 
xs:normalizedString
xs:maxLength256
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Application/SIF_Version
     
M

The version of the product. This field is informative only.

 
xs:normalizedString
xs:maxLength32
 SIF_SIFNodes/SIF_SIFNode/
     SIF_SourceId
M

The agent or ZIS identifier. This is the same value that the SIF node would place in any SIF_Header that it would create.

 
xs:token
xs:maxLength64
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Mode
M

Specifies the communication mode (Pull or Push) as chosen by the message sender.

 
values:
Push
Pull
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Protocol
O

Describes the currently active protocol that the SIF node is using to communicate with the ZIS.

 
SIF_Protocol
 SIF_SIFNodes/SIF_SIFNode/
     SIF_VersionList
M List
 SIF_SIFNodes/SIF_SIFNode/
     SIF_VersionList/SIF_Version
     
MR

This is the version or versions of the SIF Implementation Specification that define(s) the messages the SIF node can receive. For agents, this information was communicated when the SIF node registered with the ZIS.

 
VersionWithWildcardsType
 SIF_SIFNodes/SIF_SIFNode/
     SIF_AuthenticationLevel
O

This is the level of authentication that the SIF node supports when it wants to communicate via a secure channel.

 
SIF_AuthenticationLevel
 SIF_SIFNodes/SIF_SIFNode/
     SIF_EncryptionLevel
O

This is the level of encryption that the SIF node supports when it wants to communicate via a secure channel.

 
SIF_EncryptionLevel
 SIF_SIFNodes/SIF_SIFNode/
     SIF_MaxBufferSize
M

Specifies that the ZIS should never send packets larger than this value. Query responses from other providers are controlled by the SIF_MaxBufferSize attribute in the SIF_Request message.

 
xs:unsignedInt
 SIF_SIFNodes/SIF_SIFNode/
     SIF_Sleeping
M

This element shows whether the SIF node is ready to process messages.

 
values:
No
The SIF node is ready to process messages
Yes
The SIF node is sleeping and cannot process messages
 SIF_SupportedAuthenticationC

Enumerates the various authentication protocols that the ZIS supports. If the ZIS supports an authentication protocol this element is mandatory.

 
List
 SIF_SupportedAuthentication/
     SIF_ProtocolName
MR

Describes a particular authentication protocol supported.

 
values:
X.509
 SIF_SupportedProtocolsM

Enumerates the various communication transport protocols that are supported by the ZIS.

 
List
 SIF_SupportedProtocols/SIF_Protocol
     
MR SIF_Protocol
 SIF_SupportedVersionsM

Enumerates the versions of the SIF Implementation Specification that this ZIS can use when communicating with the agent.

 
List
 SIF_SupportedVersions/SIF_Version
     
MR

Lists a specific SIF Implementation Specification version.

 
VersionType
 SIF_AdministrationURLO

Should a ZIS vendor provide an administration interface for the zone via a URL, the ZIS can make the URL available in SIF_ZoneStatus. Agent administrators can use the URL to access zone administration features, should they have permission to do so.

 
xs:anyURI
 SIF_ContextsM SIF_Contexts
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 5.3.1-1: SIF_ZoneStatus
<SIF_ZoneStatus ZoneId="RamseyZIS"> <SIF_Name>Ramsey Elementary</SIF_Name> <SIF_Vendor> <SIF_Name>ZoneMaster, Inc.</SIF_Name> <SIF_Product>ZonePlus Zone Integration Server</SIF_Product> <SIF_Version>3.01</SIF_Version> </SIF_Vendor> <SIF_Providers> <SIF_Provider SourceId="RamseyFOOD"> <SIF_ObjectList> <SIF_Object ObjectName="StudentMeal"> <SIF_ExtendedQuerySupport>false</SIF_ExtendedQuerySupport> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Provider> <SIF_Provider SourceId="RamseyLIB"> <SIF_ObjectList> <SIF_Object ObjectName="LibraryPatronStatus"> <SIF_ExtendedQuerySupport>false</SIF_ExtendedQuerySupport> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Provider> <SIF_Provider SourceId="RamseySIS"> <SIF_ObjectList> <SIF_Object ObjectName="StudentPersonal"> <SIF_ExtendedQuerySupport>false</SIF_ExtendedQuerySupport> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> <SIF_Object ObjectName="StudentSchoolEnrollment"> <SIF_ExtendedQuerySupport>false</SIF_ExtendedQuerySupport> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Provider> </SIF_Providers> <SIF_Subscribers> <SIF_Subscriber SourceId="RamseyFOOD"> <SIF_ObjectList> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> <SIF_Object ObjectName="StudentSchoolEnrollment"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Subscriber> <SIF_Subscriber SourceId="RamseyLIB"> <SIF_ObjectList> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> <SIF_Object ObjectName="StudentSchoolEnrollment"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Subscriber> <SIF_Subscriber SourceId="RamseySIS"> <SIF_ObjectList> <SIF_Object ObjectName="StudentContact"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ObjectList> </SIF_Subscriber> </SIF_Subscribers> <SIF_SIFNodes> <SIF_SIFNode Type="Agent"> <SIF_Name>Ramsey Food Services</SIF_Name> <SIF_SourceId>RamseyFOOD</SIF_SourceId> <SIF_Mode>Push</SIF_Mode> <SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://RamseyNT:8010/FoodService</SIF_URL> </SIF_Protocol> <SIF_VersionList> <SIF_Version>2.3</SIF_Version> </SIF_VersionList> <SIF_MaxBufferSize>16384</SIF_MaxBufferSize> <SIF_Sleeping>No</SIF_Sleeping> </SIF_SIFNode> <SIF_SIFNode Type="Agent"> <SIF_Name>Ramsey Media Resource Center</SIF_Name> <SIF_SourceId>RamseyLIB</SIF_SourceId> <SIF_Mode>Pull</SIF_Mode> <SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://RamseyNT:8020/Library</SIF_URL> </SIF_Protocol> <SIF_VersionList> <SIF_Version>2.3</SIF_Version> </SIF_VersionList> <SIF_MaxBufferSize>16384</SIF_MaxBufferSize> <SIF_Sleeping>No</SIF_Sleeping> </SIF_SIFNode> <SIF_SIFNode Type="Agent"> <SIF_Name>Ramsey Administration</SIF_Name> <SIF_SourceId>RamseySIS</SIF_SourceId> <SIF_Mode>Push</SIF_Mode> <SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://RamseyNT:8030/StudentAdmin</SIF_URL> </SIF_Protocol> <SIF_VersionList> <SIF_Version>2.3</SIF_Version> </SIF_VersionList> <SIF_MaxBufferSize>16384</SIF_MaxBufferSize> <SIF_Sleeping>No</SIF_Sleeping> </SIF_SIFNode> </SIF_SIFNodes> <SIF_SupportedAuthentication> <SIF_ProtocolName>X.509</SIF_ProtocolName> </SIF_SupportedAuthentication> <SIF_SupportedProtocols> <SIF_Protocol Type="HTTPS" Secure="Yes"> <SIF_URL>https://RamseyNT:8000/ZIS</SIF_URL> </SIF_Protocol> <SIF_Protocol Type="HTTP" Secure="No"> <SIF_URL>http://RamseyNT:8000/ZIS</SIF_URL> </SIF_Protocol> </SIF_SupportedProtocols> <SIF_SupportedVersions> <SIF_Version>2.3</SIF_Version> </SIF_SupportedVersions> <SIF_AdministrationURL>http://RamseyNT:8000/Administer</SIF_AdministrationURL> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_ZoneStatus>
Example 5.3.1-1: SIF_ZoneStatus

5.3.2 SIF_AgentACL

This object provides an Agent its access control list (ACL) settings in the Zone. It does not communicate which objects the Agent is currently registered as providing, subscribing, publishing, requesting, or responding; it simply lists the ACL rights granted to the Agent in the Zone. When objects are absent from any of the access lists, the Agent does not have the necessary rights to perform the given action on the object. While an Agent may asynchronously request this object from the ZIS via SIF_Request, it is typically returned synchronously in response to the SIF_SystemControl message SIF_GetAgentACL; it is also returned synchronously in response to SIF_Register.

Typically only Change events are reported.

SIF_AgentACL
Figure 5.3.2-1: SIF_AgentACL SIF_AgentACL SIF_ProvideAccess SIF_Object ObjectName SIF_Contexts SIF_SubscribeAccess SIF_Object ObjectName SIF_Contexts SIF_PublishAddAccess SIF_Object ObjectName SIF_Contexts SIF_PublishChangeAccess SIF_Object ObjectName SIF_Contexts SIF_PublishDeleteAccess SIF_Object ObjectName SIF_Contexts SIF_RequestAccess SIF_Object ObjectName SIF_Contexts SIF_RespondAccess SIF_Object ObjectName SIF_Contexts SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SIF_AgentACL 

This object provides an Agent its access control list (ACL) settings in the Zone.

 
 
 SIF_ProvideAccessM

Access control list by object for SIF_Provide and corresponding section in SIF_Provision.

 
List
 SIF_ProvideAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_ProvideAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_SubscribeAccessM

Access control list by object for SIF_Subscribe and corresponding section in SIF_Provision.

 
List
 SIF_SubscribeAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_SubscribeAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_PublishAddAccessM

Access control list by object for corresponding section in SIF_Provision, whether the Agent has the right to publish Add events.

 
List
 SIF_PublishAddAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_PublishAddAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_PublishChangeAccessM

Access control list by object for corresponding section in SIF_Provision, whether the Agent has the right to publish Change events.

 
List
 SIF_PublishChangeAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_PublishChangeAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_PublishDeleteAccessM

Access control list by object for corresponding section in SIF_Provision, whether the Agent has the right to publish Delete events.

 
List
 SIF_PublishDeleteAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_PublishDeleteAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_RequestAccessM

Access control list by object for SIF_Request and corresponding section in SIF_Provision.

 
List
 SIF_RequestAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_RequestAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_RespondAccessM

Access control list by object for corresponding section in SIF_Provision, whether the Agent has the right to respond to requests for an object regardless of being the Provider of that object.

 
List
 SIF_RespondAccess/SIF_Object
     
OR  
@ObjectNameM

The name of each object.

 
ObjectNameType
 SIF_RespondAccess/SIF_Object/
     SIF_Contexts
M

List of contexts in which rights for the given action/object apply.

 
SIF_Contexts
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 5.3.2-1: SIF_AgentACL
<SIF_AgentACL> <SIF_ProvideAccess> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_ProvideAccess> <SIF_SubscribeAccess> <SIF_Object ObjectName="Authentication"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_SubscribeAccess> <SIF_PublishAddAccess> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_PublishAddAccess> <SIF_PublishChangeAccess> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_PublishChangeAccess> <SIF_PublishDeleteAccess> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_PublishDeleteAccess> <SIF_RequestAccess> <SIF_Object ObjectName="Authentication"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_RequestAccess> <SIF_RespondAccess> <SIF_Object ObjectName="StudentPersonal"> <SIF_Contexts> <SIF_Context>SIF_Default</SIF_Context> </SIF_Contexts> </SIF_Object> </SIF_RespondAccess> </SIF_AgentACL>
Example 5.3.2-1: SIF_AgentACL

6 Data Model

6.1 Introduction

This section presents the XML structure for SIF Data Model common elements and objects in a tabular format for readers less versed in parsing formal XML schema definitions, along with conventions that typically apply in the data model for easy reference.

6.1.1 Format

The Char(acteristics) column for all of the tables in this section use the following codes:

CodeCharacteristic
MMandatory element or attribute
OOptional element or attribute
CConditional element or attribute
MRMandatory and repeatable element
OROptional and repeatable element
CRConditional and repeatable element

Mandatory elements MUST be present in Add events, and in non-empty and non-error responses to requests for entire SIF objects (e.g., no SIF_Query/SIF_QueryObject/SIF_Element elements supplied in the request). Mandatory attributes MUST always be present if their corresponding element is present.

SIF Agents and Zone Integration Servers MUST supply data according to the types specified in the Type columns and their corresponding equivalents in the most recent schema files associated with this specification. If there is a discrepancy between object and element definitions in this specification and the corresponding schema files, the definition in the schema files takes precedence; every effort will be made to note discrepancies in the errata for this document as they are identified.

6.1.2 Conventions

6.1.2.1 Object Attributes/Primary Keys

While XML attributes are primarily used in SIF to provide additional processing information regarding the associated element content, attributes at the root level of an object have special significance. These attributes serve as the primary key or identifier for the object; in many cases this is no more than a RefId GUID of RefIdType, though the primary key may consist solely of foreign key references to other SIF objects and include school years, dates, etc. These key attributes are immutable over the lifetime of an object and serve the purpose of uniquely identifying an object, especially in Change and Delete events. Some groups include non-primary key attributes in object attributes (e.g. mandatory foreign key references to other objects) and attributes that provide additional processing information regarding the objects. As SIF currently mandates that all object attributes be included in all messages, when a SIF Association working group or task force places a non-primary key attribute in the object's attribute definitions (typically out of historical query conventions), they are indicating that this value must still be accessible to systems in Change and, more notably, Delete events. All object attributes must be supplied to identify the object in Change and Delete events.

6.1.2.2 Object References

As stated elsewhere, SIF primarily uses GUIDs as object identifiers, primary keys, or RefIds. References to primary keys (foreign key references) follow certain conventions in SIF in most objects:

6.1.2.3 Lists/Repeatable Elements

To those accustomed with normalized relational databases, the SIF Data Model will appear to not be especially normalized, especially with regard to repeating groups of data not being separated into their own "tables," or in SIF's case, "objects" with primary/foreign keys to maintain the relationship. Bear in mind that SIF is not a format for storing data; it is a format for transmitting data asynchronously between disparate and distributed systems needing to share data for interoperability; the format this data takes in different systems can vary greatly, and the data related to any given "entity" may come from a variety of sources and systems. The goals of normalization—eliminating redundancy, organizing data efficiently, reducing inconsistencies, etc.—take on a different meaning in a message queuing system. Of primary importance is transmitting the data needed for interoperability in a minimum number of messages. The need to "join" together a great number of separate objects is kept to a minimum in SIF, as individual systems do not have access to all the data required and due to the asynchronous nature of SIF, any one of these systems may take a fair amount of time before returning data necessary for joins (SIF_ExtendedQuery has been developed to communicate a join to a single system that may have direct access to the all the data necessary to efficiently accomplish this task). It's one thing to make a separate request for a student's picture or enrollment information, another entirely to request every available phone number, address and e-mail address separately from the SIF Zone. As such, it is often the case in SIF that repeating data is stored directly in an object, rather than being separated out into a separate object.

Repeating data is very analogous to objects, though, within any given object. In SIF's Publish/Subscribe model, repeating elements in objects can be added to, changed in or deleted from an object, much like objects can be added to, changed in or deleted from a Zone. Within an existing object, all of these actions take place within a Change event, and repeating elements—if any exist initially—are first made available within an object in an Add event or can be obtained directly via requests. Repeatable elements are contained within a parent List element in most SIF objects whether or not they support events, e.g.:

<EmailList> <Email Type="Primary">contact@sifinfo.org</Email> <Email Type="Alternate1">info@sifinfo.org</Email> </EmailList>
Example 6.1.2.3-1: EmailList

Two types of list are currently defined in SIF, ActionList and List; both consist of a list container element and a single repeatable child element. Each type of list serves different needs and has associated conventions for communication and processing in the SIF Publish/Subscribe Model. List or ActionList is specified in the Type column in tables in this section for each list; when an ActionList the key, possibly compound, is also indicated in the Type column. ActionList key values must be unique within an instance of an ActionList.

6.1.2.3.1 ActionList

An ActionList has a key that uniquely identifies each child element within the list. This type of list is primarily used when it is desirable or necessary for systems to support or refer to a subset of the list, either due to functionally only being able to support a subset or because specifying a subset in Change events is more efficient than transmitting a whole list as in List. While one system may support the Primary and Alternate1 e-mail address types above, another may additionally support Alternate2 addresses. The second system is able to communicate the addition, change or deletion of an Alternate2 address without the first system inadvertently interpreting that to mean a student or staff member's Primary and Alternate1 addresses have been deleted.

Systems communicate the whole list as a cohesive unit consisting of the parent list container element and all child elements in an Add event; if the container is present with no child elements, the list is empty; the same is implied when an optional list is not present in an Add event. In a Change event, systems SHOULD only transmit those elements that have been added, changed or deleted. Deletion is not implied by the omission of a child element, but rather explicitly communicated with a SIF_Action attribute of Delete added to the deleted element, along with the element's key attribute(s)/element(s) at a minimum. An empty list in a Change event implies no changes have occurred in the list, as does the omission of the list. Systems storing ActionList data should set/replace/delete any existing values identified by primary keys in the Change event they support.

<EmailList> <Email Type="Primary">editor@sifinfo.org</Email> <Email Type="Alternate1" SIF_Action="Delete" /> </EmailList>
Example 6.1.2.3.1-1: Indicating a new value for the Primary e-mail address and deleting the Alternate1 address

A system that supports an Alternate2 e-mail makes no changes to its value for that address type.

6.1.2.3.2 List

While a unique, primary key may still be identifiable in its child elements, a List is used primarily when:

Lists are always transmitted as a cohesive unit consisting of the parent list container element and all child elements. If no child elements exist in the list, the list consists of the container element alone. Omission of an optional List in an Add event also implies no list items. In a Change event, omission of the List indicates no changes have been made; otherwise the parent container element and all child elements, if any, are included. Systems storing List data should replace all corresponding data in their systems when persisting the list; likewise when a change is made to one or more list items or when all items in the list are deleted, systems should send the whole list in a Change event.

<CountriesOfCitizenship> <CountryOfCitizenship>US</CountryOfCitizenship> <CountryOfCitizenship>DE</CountryOfCitizenship> </CountriesOfCitizenship>
Example 6.1.2.3.2-1: Indicating an updated list of country citizenships

A system that supports CountriesOfCitizenship updates its local data to reflect U.S. and German citizenship.

6.1.2.4 Supported Optional Elements Without Values

Some agents follow the convention of supplying an optional element as empty (e.g. <BirthDate></BirthDate> or <BirthDate/> to indicate that the application supports the element, but that it currently has no value available within a given object. To allow for this convention within SIF—as in this example an empty string does not satisfy the xs:date type definition of BirthDate—all optional elements in SIF are defined as nillable [SCHEMA]. To satisfy type constraints on an element while still supplying an empty or "nil" value, agents MUST tag the element with a true value for the nil attribute from namespace http://www.w3.org/2001/XMLSchema-instance [SCHEMA] (e.g. <BirthDate xsi:nil="true"/> where the prefix xsi has been mapped to the namespace http://www.w3.org/2001/XMLSchema-instance), unless an empty value is valid with regard to the element's type definition, in which case supplying the nil attribute value of true is optional. See SIF and XML Namespaces for more details on namespaces, and SIF and XML Schema for more details on SIF's use of XML Schema.

6.1.2.5 Externally-Defined XML

Note that XML not defined within SIF does not necessarily support ad hoc omission of XML elements at will to conform with the conventions of the SIF Publish/Subscribe Model (where unchanged elements are typically omitted in Change events, and where non-key elements are often omitted in Delete events) or of the SIF Request/Response Model (where a subset of elements can be retrieved from objects with requests). If externally-defined XML occurs within a SIF data object, SIF conventions do not extend to that XML unless that XML is defined to accommodate SIF conventions; the XML, when transmitted, must only conform to any external definitions dictating its structure, if any. Applications should be prepared for the possibility of receiving whole externally-defined XML structures in Change events (regardless of how little or much of the external XML has changed) and possibly also Delete events, likewise in responses even when a subset of the XML structure's child elements may have explicitly been requested.

6.2 Common Elements

6.2.1 Address

This element represents an address. This element occurs within objects and elements such as StaffPersonal and StudentPersonal/StudentAddress, etc.

Address
Figure 6.2.1-1: Address Address Type Street Line1 Line2 Line3 Complex StreetNumber StreetPrefix StreetName StreetType StreetSuffix ApartmentType ApartmentNumberPrefix ApartmentNumber ApartmentNumberSuffix City County StateProvince Country PostalCode GridLocation
 Element/@AttributeCharDescriptionType
 AddressM

This element contains address data.

 
 
@TypeM

Code that defines the location of the address. Note: A subset of specific valid values for each instance in a data object may be listed in that object.

 
NCES0025AddressTypeType
 StreetM

The street element is a complex element and breaks the street down into several parts.

 
 
 Street/Line1M

Address line 1.

 
xs:normalizedString
 Street/Line2O

Address line 2.

 
xs:normalizedString
 Street/Line3O

Address line 3.

 
xs:normalizedString
 Street/ComplexO

Name of the complex.

 
xs:normalizedString
 Street/StreetNumberO

The address number assigned to the building.

 
xs:normalizedString
 Street/StreetPrefixO

Street prefix like NE

 
xs:normalizedString
 Street/StreetNameO

The name of the street.

 
xs:normalizedString
 Street/StreetTypeO

The type of street. For example, Lane, Blvd., Ave., etc.

 
xs:normalizedString
 Street/StreetSuffixO

Street suffix like SW.

 
xs:normalizedString
 Street/ApartmentTypeO

Type of apartment, for example, Suite.

 
xs:normalizedString
 Street/ApartmentNumberPrefix
     
O

Apartment number prefix.

 
xs:normalizedString
 Street/ApartmentNumberO

The number of the apartment.

 
xs:normalizedString
 Street/ApartmentNumberSuffix
     
O

Apartment number suffix.

 
xs:normalizedString
 CityM

The city part of the address.

 
xs:normalizedString
 CountyO

The county part of the address.

 
xs:normalizedString
 StateProvinceM

The state or province code.

 
StateProvince
 CountryM

The country code.

 
Country
 PostalCodeM

The ZIP/postal code.

 
xs:normalizedString
 GridLocationO

The location of the address.

 
GridLocation
Table 6.2.1-1: Address
<Address Type="0123"> <Street> <Line1>1 IBM Plaza</Line1> <Line2>Suite 2000</Line2> <StreetNumber>1</StreetNumber> <StreetName>IBM</StreetName> <StreetType>Plaza</StreetType> <ApartmentType>Suite</ApartmentType> <ApartmentNumber>2000</ApartmentNumber> </Street> <City>Chicago</City> <County>Cook</County> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60611</PostalCode> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> </Address>
Example 6.2.1-1: Address

6.2.2 AddressList

A list of Address elements.

AddressList
Figure 6.2.2-1: AddressList AddressList Address SIF_Action
 Element/@AttributeCharDescriptionType
 AddressList 

A list of Address elements.

 
ActionList (Address/@Type)
 AddressMR Address
@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
Table 6.2.2-1: AddressList
<AddressList> <Address Type="0123"> <Street> <Line1>1 IBM Plaza</Line1> <Line2>Suite 2000</Line2> <StreetNumber>1</StreetNumber> <StreetName>IBM</StreetName> <StreetType>Plaza</StreetType> <ApartmentType>Suite</ApartmentType> <ApartmentNumber>2000</ApartmentNumber> </Street> <City>Chicago</City> <County>Cook</County> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60611</PostalCode> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> </Address> </AddressList>
Example 6.2.2-1: AddressList

6.2.3 BirthDate

A person's date of birth.

BirthDate
Figure 6.2.3-1: BirthDate BirthDate
 Element/@AttributeCharDescriptionType
 BirthDate 

A person's date of birth.

 
xs:date
Table 6.2.3-1: BirthDate
<BirthDate>1970-08-11</BirthDate>
Example 6.2.3-1: BirthDate

6.2.4 CongressionalDistrict

Common element used to indicate the number of the U.S. Congressional District in which an entity resides or is physically located.

CongressionalDistrict
Figure 6.2.4-1: CongressionalDistrict CongressionalDistrict
 Element/@AttributeCharDescriptionType
 CongressionalDistrict 

Number for the US congressional district. While typically numerical, this element does allow for text values to cover exceptions, e.g. to indicate an "at-large" district as in Wyoming.

 
union of:

xs:unsignedInt
xs:token
Table 6.2.4-1: CongressionalDistrict
<CongressionalDistrict>3</CongressionalDistrict>
Example 6.2.4-1: CongressionalDistrict

6.2.5 ContactInfo

Common element used to supply information for a contact person at a school, LEA, or other institution.

ContactInfo
Figure 6.2.5-1: ContactInfo ContactInfo Name Type Prefix LastName FirstName MiddleName Suffix PreferredName SortName FullName PositionTitle Role Address EmailList PhoneNumberList
 Element/@AttributeCharDescriptionType
 ContactInfo 

Common element used to supply information for a contact person at a school, LEA, or other institution.

 
 
 NameM

The name of the contact person. Note that Name is redefined here to allow for LastName and FirstName to be omitted if they cannot be provided; when omitted, FullName must have a value.

 
 
@TypeM

Code that specifies what type of name this is. If unsure, use 04.

 
values:
01
Given Name (Name at Birth)
02
Current Legal
03
Alias
04
Name of Record
05
Previous Name (sometimes called Maiden Name of Female Persons)
07
Married Name
08
Professional Name
 Name/PrefixO

A prefix associated with the name like Mr., Ms., etc.

 
xs:normalizedString
 Name/LastNameO

The last name.

 
LastName
 Name/FirstNameO

The first name.

 
FirstName
 Name/MiddleNameO

The middle name or initial.

 
MiddleName
 Name/SuffixO

Generation of suffix like II, Jr., etc.

 
xs:normalizedString
 Name/PreferredNameO

This is a name that the person prefers to be called by.

 
xs:normalizedString
 Name/SortNameO

This is the name to be used for sorting purposes.

 
xs:normalizedString
 Name/FullNameC

A free text field for the complete name. Mandatory if LastName and FirstName are omitted.

 
xs:normalizedString
 PositionTitleO

The contact person's position title.

Examples
Superintendent

xs:normalizedString
 RoleO

Role played by this contact in this instance.

Examples
Report Contact
Primary Contact
Alternate Contact

xs:normalizedString
 AddressO

Address of the contact.

 
Address
 EmailListO

List of Email elements.

 
EmailList
 PhoneNumberListO

List of PhoneNumber elements.

 
PhoneNumberList
Table 6.2.5-1: ContactInfo
<ContactInfo> <Name Type="04"> <LastName>Geisel</LastName> <FirstName>Theodore</FirstName> <FullName>Theodore Geisel</FullName> </Name> <PositionTitle>Superintendent</PositionTitle> <EmailList> <Email Type="Primary">drseuss@whoville.k12.state.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-0102</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo>
Example 6.2.5-1: ContactInfo

6.2.6 Country

A country code.

Country
Figure 6.2.6-1: Country Country
 Element/@AttributeCharDescriptionType
 Country 

A country code.

 
union of:

ISO31661EnglishCountryNamesAndCodeElementsType
ISO31663CodeForFormerlyUsedNamesOfCountriesType
Table 6.2.6-1: Country
<Country>US</Country>
Example 6.2.6-1: Country

6.2.7 CourseCode

School-defined local code for a course.

CourseCode
Figure 6.2.7-1: CourseCode CourseCode
 Element/@AttributeCharDescriptionType
 CourseCode 

School-defined local code for a course.

 
xs:normalizedString
Table 6.2.7-1: CourseCode
<CourseCode>CS101A</CourseCode>
Example 6.2.7-1: CourseCode

6.2.8 CourseCredits

The number of credits awarded upon course completion.

CourseCredits
Figure 6.2.8-1: CourseCredits CourseCredits Type
 Element/@AttributeCharDescriptionType
 CourseCredits 

The number of credits awarded upon course completion.

 
xs:decimal
@TypeM

The type of credit offered.

 
NCES0108CreditTypeEarnedType
Table 6.2.8-1: CourseCredits
<CourseCredits Type="0588">2</CourseCredits>
Example 6.2.8-1: CourseCredits

6.2.9 CourseTitle

Title of a course.

CourseTitle
Figure 6.2.9-1: CourseTitle CourseTitle
 Element/@AttributeCharDescriptionType
 CourseTitle 

Title of a course.

 
xs:normalizedString
Table 6.2.9-1: CourseTitle
<CourseTitle>Graphics Basics</CourseTitle>
Example 6.2.9-1: CourseTitle

6.2.10 Demographics

Demographics information about the student, contact, staff member, etc. This element occurs within objects such as StudentPersonal, StudentContact, etc.

Demographics
Figure 6.2.10-1: Demographics Demographics RaceList HispanicLatino Gender BirthDate BirthDateVerification PlaceOfBirth CountyOfBirth StateOfBirth CountryOfBirth CountriesOfCitizenship CountryOfCitizenship CountriesOfResidency CountryOfResidency CountryArrivalDate CitizenshipStatus EnglishProficiency LanguageList DwellingArrangement Code OtherCodeList MaritalStatus
 Element/@AttributeCharDescriptionType
 Demographics 

Demographics information about the student, contact, staff member, etc. This element occurs within objects such as StudentPersonal, StudentContact, etc.

 
 
 RaceListO RaceList
 HispanicLatinoO HispanicLatino
 GenderO

Person's gender.

 
Gender
 BirthDateO

The person's date of birth.

 
BirthDate
 BirthDateVerificationO

Means by which the person's birth date was validated.

 
NCES0315BirthdateVerificationType
 PlaceOfBirthO

The person's place of birth—like village, town, city etc.

 
xs:normalizedString
 CountyOfBirthO

The county in which the person was born.

 
xs:normalizedString
 StateOfBirthO

The person's state of birth.

 
StateProvince
 CountryOfBirthO

The person's country of birth.

 
Country
 CountriesOfCitizenshipO List
 CountriesOfCitizenship/CountryOfCitizenship
     
MR

A person's country of citizenship.

 
Country
 CountriesOfResidencyO List
 CountriesOfResidency/CountryOfResidency
     
MR

A person's country of residence.

 
Country
 CountryArrivalDateO

Date the person first arrived in the country.

 
xs:date
 CitizenshipStatusO

The person's citizenship status.

 
NCES0322CitizenshipStatusType
 EnglishProficiencyOPerson's proficiency in English. EnglishProficiency
 LanguageListOList of languages an individual uses to communicate. LanguageList
 DwellingArrangementO

Setting/environment in which the person resides.

 
 
 DwellingArrangement/CodeM

Code representing the setting/environment in which the person resides

 
NCES0600DwellingArrangementType
 DwellingArrangement/OtherCodeList
     
O OtherCodeList
 MaritalStatusO

The person's marital status.

 
NCES0330MaritalStatusType
Table 6.2.10-1: Demographics
<Demographics> <RaceList> <Race> <Code>1002</Code> </Race> </RaceList> <Gender>M</Gender> <BirthDate>1990-09-26</BirthDate> <BirthDateVerification>1004</BirthDateVerification> <PlaceOfBirth>Miami</PlaceOfBirth> <CountyOfBirth>Dade</CountyOfBirth> <StateOfBirth>FL</StateOfBirth> <CountryOfBirth>US</CountryOfBirth> <CountriesOfCitizenship> <CountryOfCitizenship>US</CountryOfCitizenship> </CountriesOfCitizenship> <CountriesOfResidency> <CountryOfResidency>US</CountryOfResidency> </CountriesOfResidency> <CitizenshipStatus>1017</CitizenshipStatus> <EnglishProficiency> <Code>1633</Code> </EnglishProficiency> <LanguageList> <Language> <Code>eng</Code> </Language> </LanguageList> <DwellingArrangement> <Code>1674</Code> </DwellingArrangement> <MaritalStatus>1042</MaritalStatus> </Demographics>
Example 6.2.10-1: Demographics

6.2.11 DistrictCourseCode

A district course code.

DistrictCourseCode
Figure 6.2.11-1: DistrictCourseCode DistrictCourseCode
 Element/@AttributeCharDescriptionType
 DistrictCourseCode 

A district course code.

 
xs:normalizedString
Table 6.2.11-1: DistrictCourseCode
<DistrictCourseCode>CS101</DistrictCourseCode>
Example 6.2.11-1: DistrictCourseCode

6.2.12 EarnedStatus

This gives information about a staff member's meal status.

EarnedStatus
Figure 6.2.12-1: EarnedStatus EarnedStatus Type StartDate EndDate
 Element/@AttributeCharDescriptionType
 EarnedStatus 

This gives information about a staff member's meal status.

 
 
@TypeM

Earned status type.

In SIF objects where the EarnedStatus is required and does not apply, NA should be used.

 
values:
Yes
No
NA
 StartDateO

Date on which earned status became effective (inclusive).

 
xs:date
 EndDateC

Date on which earned status was last in effect. This attribute is conditional upon the StartDate element. It exists only if the StartDate element exists.

 
xs:date
Table 6.2.12-1: EarnedStatus
<EarnedStatus Type="Yes"> <StartDate>2004-01-01</StartDate> <EndDate>2004-12-31</EndDate> </EarnedStatus>
Example 6.2.12-1: EarnedStatus

6.2.13 EconomicDisadvantage

Does the student meet the State criteria for classification as having an economic disadvantage?

EconomicDisadvantage
Figure 6.2.13-1: EconomicDisadvantage EconomicDisadvantage
 Element/@AttributeCharDescriptionType
 EconomicDisadvantage 

Does the student meet the State criteria for classification as having an economic disadvantage?

 
values:
Yes
No
Unknown
Table 6.2.13-1: EconomicDisadvantage
<EconomicDisadvantage>No</EconomicDisadvantage>
Example 6.2.13-1: EconomicDisadvantage

6.2.14 EducationalLevel

A code representing the highest level of education completed by a person.

EducationalLevel
Figure 6.2.14-1: EducationalLevel EducationalLevel
 Element/@AttributeCharDescriptionType
 EducationalLevel 

A code representing the highest level of education completed by a person.

 
NCES0332HighestLevelOfEducationCompletedType
Table 6.2.14-1: EducationalLevel
<EducationalLevel>1057</EducationalLevel>
Example 6.2.14-1: EducationalLevel

6.2.15 ElectronicId

Common element used to specify entity identifiers that are read by electronic equipment. It is used in objects such as StudentPersonal, StaffPersonal, and LibraryPatronStatus.

ElectronicId
Figure 6.2.15-1: ElectronicId ElectronicId Type
 Element/@AttributeCharDescriptionType
 ElectronicId 

Common element used to specify entity identifiers that are read by electronic equipment. It is used in objects such as StudentPersonal, StaffPersonal, and LibraryPatronStatus.

 
xs:normalizedString
@TypeM

Electronic ID type.

 
values:
Barcode
Magstripe
PIN
RFID
Table 6.2.15-1: ElectronicId
<ElectronicId Type="Barcode">206654</ElectronicId>
Example 6.2.15-1: ElectronicId

6.2.16 ElectronicIdList

A list of electronic identifiers associated with an entity.

ElectronicIdList
Figure 6.2.16-1: ElectronicIdList ElectronicIdList ElectronicId
 Element/@AttributeCharDescriptionType
 ElectronicIdList 

A list of electronic identifiers associated with an entity.

 
List
 ElectronicIdMR ElectronicId
Table 6.2.16-1: ElectronicIdList
<ElectronicIdList> <ElectronicId Type="Barcode">206654</ElectronicId> <ElectronicId Type="PIN">9823</ElectronicId> </ElectronicIdList>
Example 6.2.16-1: ElectronicIdList

6.2.17 ELL

Is the student an English Language Learner under Title 3?

ELL
Figure 6.2.17-1: ELL ELL
 Element/@AttributeCharDescriptionType
 ELL 

Is the student an English Language Learner under Title 3?

 
values:
Yes
No
Unknown
Table 6.2.17-1: ELL
<ELL>No</ELL>
Example 6.2.17-1: ELL

6.2.18 Email

This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContact, etc.

Email
Figure 6.2.18-1: Email Email Type
 Element/@AttributeCharDescriptionType
 Email 

This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContact, etc.

 
xs:normalizedString
@TypeM

This attribute specifies the type of e-mail address.

 
values:
Primary
Alternate1
Alternate2
Alternate3
Alternate4
Table 6.2.18-1: Email
<Email Type="Primary">contact@sifinfo.org</Email>
Example 6.2.18-1: Email

6.2.19 EmailList

A list of e-mail addresses associated with an individual.

EmailList
Figure 6.2.19-1: EmailList EmailList Email SIF_Action
 Element/@AttributeCharDescriptionType
 EmailList 

A list of e-mail addresses associated with an individual.

 
ActionList (Email/@Type)
 EmailMR Email
@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
Table 6.2.19-1: EmailList
<EmailList> <Email Type="Primary">contact@sifinfo.org</Email> <Email Type="Alternate1">info@sifinfo.org</Email> </EmailList>
Example 6.2.19-1: EmailList

6.2.20 EnglishProficiency

EnglishProficiency
Figure 6.2.20-1: EnglishProficiency EnglishProficiency Code OtherCodeList
 Element/@AttributeCharDescriptionType
 EnglishProficiencyO  
 CodeM

Person's proficiency in English.

 
NCES0585EnglishProficiencyType
 OtherCodeListO OtherCodeList
Table 6.2.20-1: EnglishProficiency

6.2.21 EntryDate

Common element used to specify the date on which a student enters a school, program, course section, etc. It is used in objects such as StudentSchoolEnrollment and StudentSectionEnrollment.

EntryDate
Figure 6.2.21-1: EntryDate EntryDate
 Element/@AttributeCharDescriptionType
 EntryDate

The first date on which a student enters.

 
xs:date
Table 6.2.21-1: EntryDate
<EntryDate>2004-08-27</EntryDate>
Example 6.2.21-1: EntryDate

6.2.22 ExceptionalityCategories

ExceptionalityCategories
Figure 6.2.22-1: ExceptionalityCategories ExceptionalityCategories ExceptionalityCategory Code OtherCodeList ExceptionalityPriority
 Element/@AttributeCharDescriptionType
 ExceptionalityCategories  List
 ExceptionalityCategoryMR  
 ExceptionalityCategory/Code
     
M

Exceptionality description/code which identifies the exceptionality or areas of need of the student. Not all programs require identification of an exceptionality. If required for this program type, must have at least one element with ExceptionalityPriority value of Primary.

 
union of:

NCES0768PrimaryDisabilityTypeType

additional values:

9999
Other (not valid for special education)
 ExceptionalityCategory/OtherCodeList
     
O OtherCodeList
 ExceptionalityCategory/ExceptionalityPriority
     
M

Identifies priority of the exceptionality. "Primary" is the first and is required even if only one exceptionality is specified. "Secondary", etc. are of lower priority. Primary, Secondary, and Tertiary must be specified before "Additional" is used.

 
values:
Primary
Identifies relative severity of disability - only one can be primary
Secondary
Identifies relative severity of disability - only one can be secondary
Tertiary
Identifies relative severity of disability - only one can be tertiary
Additional
Multiple disabilities can be identified as "Additional"
Table 6.2.22-1: ExceptionalityCategories
<ExceptionalityCategories> <ExceptionalityCategory> <Code>2121</Code> <ExceptionalityPriority>Primary</ExceptionalityPriority> </ExceptionalityCategory> <ExceptionalityCategory> <Code>2134</Code> <ExceptionalityPriority>Secondary</ExceptionalityPriority> </ExceptionalityCategory> <ExceptionalityCategory> <Code>2127</Code> <ExceptionalityPriority>Tertiary</ExceptionalityPriority> </ExceptionalityCategory> </ExceptionalityCategories>
Example 6.2.22-1: ExceptionalityCategories

6.2.23 ExitDate

The last school calendar day (membership day) the student was enrolled (inclusive). Refer to the object for a precise contextual definition.

ExitDate
Figure 6.2.23-1: ExitDate ExitDate
 Element/@AttributeCharDescriptionType
 ExitDate

The date on which a student exits.

 
xs:date
Table 6.2.23-1: ExitDate
<ExitDate>2005-06-03</ExitDate>
Example 6.2.23-1: ExitDate

6.2.24 FirstName

A person's first name.

FirstName
Figure 6.2.24-1: FirstName FirstName
 Element/@AttributeCharDescriptionType
 FirstName 

A person's first name.

 
xs:normalizedString
Table 6.2.24-1: FirstName
<FirstName>Mark</FirstName>
Example 6.2.24-1: FirstName

6.2.25 Gender

A person's gender.

Gender
Figure 6.2.25-1: Gender Gender
 Element/@AttributeCharDescriptionType
 GenderO

A person's gender.

 
values:
M
Male
F
Female
U
Unknown
Table 6.2.25-1: Gender
<Gender>F</Gender>
Example 6.2.25-1: Gender

6.2.26 GiftedTalented

Is the student in Gifted/Talented programs?

GiftedTalented
Figure 6.2.26-1: GiftedTalented GiftedTalented
 Element/@AttributeCharDescriptionType
 GiftedTalented 

Is the student in Gifted/Talented programs?

 
values:
Yes
No
Unknown
Table 6.2.26-1: GiftedTalented
<GiftedTalented>Yes</GiftedTalented>
Example 6.2.26-1: GiftedTalented

6.2.27 GradeLevel

This is a common element used to specify a grade level. It is used in StudentSchoolEnrollment and assessment-related objects.

GradeLevel
Figure 6.2.27-1: GradeLevel GradeLevel Code OtherCodeList
 Element/@AttributeCharDescriptionType
 GradeLevel

Grade or academic level.

 
 
 CodeM

Code representing the grade level.

 
values:
PK
Pre-Kindergarten/Preschool
KG
Kindergarten
01
02
03
04
05
06
07
08
09
10
11
12
PG
Postgraduate/Adult
UN
Ungraded
Other
Unknown
 OtherCodeListO OtherCodeList
Table 6.2.27-1: GradeLevel
<GradeLevel> <Code>08</Code> </GradeLevel>
Example 6.2.27-1: GradeLevel

6.2.28 GradeLevels

This is a common element used to specify a collection of grade levels supported. It is used in SchoolInfo and assessment-related objects.

GradeLevels
Figure 6.2.28-1: GradeLevels GradeLevels GradeLevel
 Element/@AttributeCharDescriptionType
 GradeLevels 

This is a common element used to specify a collection of grade levels supported. It is used in SchoolInfo and assessment-related objects.

 
List
 GradeLevelMR GradeLevel
Table 6.2.28-1: GradeLevels
<GradeLevels> <GradeLevel> <Code>05</Code> </GradeLevel> <GradeLevel> <Code>06</Code> </GradeLevel> <GradeLevel> <Code>07</Code> </GradeLevel> <GradeLevel> <Code>08</Code> </GradeLevel> </GradeLevels>
Example 6.2.28-1: GradeLevels

6.2.29 GraduationDate

Date student officially graduated from secondary education.

GraduationDate
Figure 6.2.29-1: GraduationDate GraduationDate
 Element/@AttributeCharDescriptionType
 GraduationDate 

Date student officially graduated from secondary education.

 
PartialDateType
Table 6.2.29-1: GraduationDate
<GraduationDate>2005-05-27</GraduationDate>
Example 6.2.29-1: GraduationDate

6.2.30 GraduationRequirement

Does the state require that the course be completed for graduation?

GraduationRequirement
Figure 6.2.30-1: GraduationRequirement GraduationRequirement
 Element/@AttributeCharDescriptionType
 GraduationRequirement 

Does the state require that the course be completed for graduation?

 
values:
Yes
No
Table 6.2.30-1: GraduationRequirement
<GraduationRequirement>Yes</GraduationRequirement>
Example 6.2.30-1: GraduationRequirement

6.2.31 GridLocation

This element contains a map location. The GridLocation element is utilized within other objects and elements, such as BusStopInfo and Address, etc.

GridLocation
Figure 6.2.31-1: GridLocation GridLocation Latitude Longitude
 Element/@AttributeCharDescriptionType
 GridLocation 

This element contains a map location. The GridLocation element is utilized within other objects and elements, such as BusStopInfo and Address, etc.

 
 
 LatitudeM

Latitude in decimal degrees.

Latitudes north of the equator are positive, latitudes south of the equator are negative [ISO 6709].

 
xs:decimal
xs:minInclusive-90
xs:maxInclusive90
 LongitudeM

Longitude in decimal degrees.

Longitudes east of the Prime Meridian in Greenwich are positive, longitudes west of the Prime Meridian are negative. The 180th meridian is negative. [ISO 6709]

 
xs:decimal
xs:minInclusive-180
xs:maxInclusive180
Table 6.2.31-1: GridLocation
<GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation>
Example 6.2.31-1: GridLocation

6.2.32 HispanicLatino

An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central or South America, or other Spanish cultures, regardless of race.

HispanicLatino
Figure 6.2.32-1: HispanicLatino HispanicLatino
 Element/@AttributeCharDescriptionType
 HispanicLatino 

An indication that the individual traces his or her origin or descent to Mexico, Puerto Rico, Cuba, Central or South America, or other Spanish cultures, regardless of race.

 
values:
Yes
No
Table 6.2.32-1: HispanicLatino
<HispanicLatino>Yes</HispanicLatino>
Example 6.2.32-1: HispanicLatino

6.2.33 Homeless

Is the student homeless?

Homeless
Figure 6.2.33-1: Homeless Homeless
 Element/@AttributeCharDescriptionType
 Homeless 

Is the student homeless?

 
values:
Yes
No
Unknown
Table 6.2.33-1: Homeless
<Homeless>No</Homeless>
Example 6.2.33-1: Homeless

6.2.34 HomeroomNumber

Common element used to specify the locally-defined number or identifier for a homeroom. It is used in objects such as RoomInfo and StudentSnapshot.

HomeroomNumber
Figure 6.2.34-1: HomeroomNumber HomeroomNumber
 Element/@AttributeCharDescriptionType
 HomeroomNumber

Common element used to specify the locally-defined number or identifier for a homeroom. It is used in objects such as RoomInfo and StudentSnapshot.

 
xs:normalizedString
Table 6.2.34-1: HomeroomNumber
<HomeroomNumber>A-204</HomeroomNumber>
Example 6.2.34-1: HomeroomNumber

6.2.35 IDEA

Is the student IDEA-eligible ("special education")? (Mutually exclusive with Section 504 classification.)

IDEA
Figure 6.2.35-1: IDEA IDEA
 Element/@AttributeCharDescriptionType
 IDEA 

Is the student IDEA-eligible ("special education")? (Mutually exclusive with Section 504 classification.)

 
values:
Yes
No
Unknown
Table 6.2.35-1: IDEA
<IDEA>No</IDEA>
Example 6.2.35-1: IDEA

6.2.36 IdentificationInfo

Other identification information associated with a school or LEA.

IdentificationInfo
Figure 6.2.36-1: IdentificationInfo IdentificationInfo Code
 Element/@AttributeCharDescriptionType
 IdentificationInfo 

Other identification information associated with a school or LEA.

 
xs:normalizedString
@Code 

Code indicating which identification system is used.

 
NCES0147IdentificationSystemType

subset:

0175
0264
0276
0764
9999
Table 6.2.36-1: IdentificationInfo
<IdentificationInfo Code="0175">00123</IdentificationInfo>
Example 6.2.36-1: IdentificationInfo

6.2.37 IdentificationInfoList

IdentificationInfoList
Figure 6.2.37-1: IdentificationInfoList IdentificationInfoList IdentificationInfo
 Element/@AttributeCharDescriptionType
 IdentificationInfoList  List
 IdentificationInfoMR

Other identification information associated with a school or LEA.

 
IdentificationInfo
Table 6.2.37-1: IdentificationInfoList
<IdentificationInfoList> <IdentificationInfo Code="0175">00123</IdentificationInfo> </IdentificationInfoList>
Example 6.2.37-1: IdentificationInfoList

6.2.38 Immigrant

Does the student meet the State criteria for classification as being an immigrant?

Immigrant
Figure 6.2.38-1: Immigrant Immigrant
 Element/@AttributeCharDescriptionType
 Immigrant 

Does the student meet the State criteria for classification as being an immigrant?

 
values:
Yes
No
Unknown
Table 6.2.38-1: Immigrant
<Immigrant>No</Immigrant>
Example 6.2.38-1: Immigrant

6.2.39 InstructionalLevel

An indication of the general nature and difficulty of instruction provided.

InstructionalLevel
Figure 6.2.39-1: InstructionalLevel InstructionalLevel Code OtherCodeList
 Element/@AttributeCharDescriptionType
 InstructionalLevel 

An indication of the general nature and difficulty of instruction provided.

 
 
 CodeM

Code representing the general nature and difficulty of instruction provided.

 
NCES0437InstructionalLevelType
 OtherCodeListO OtherCodeList
Table 6.2.39-1: InstructionalLevel
<InstructionalLevel> <Code>0571</Code> </InstructionalLevel>
Example 6.2.39-1: InstructionalLevel

6.2.40 LanguageList

LanguageList
Figure 6.2.40-1: LanguageList LanguageList Language Code OtherCodeList LanguageType Dialect
 Element/@AttributeCharDescriptionType
 LanguageListO List
 LanguageMR  
 Language/CodeM

The code representing the specific language that an individual uses to communicate. 

 
NISOZ3953LanguageCodesType
 Language/OtherCodeListO OtherCodeList
 Language/LanguageTypeO

An indication of the function and context in which an individual uses a language to communicate.

 
NCES0327LanguageTypeType
 Language/DialectO

Specific dialect of a person's language.

 
xs:normalizedString
Table 6.2.40-1: LanguageList

6.2.41 LastName

A person's last name.

LastName
Figure 6.2.41-1: LastName LastName
 Element/@AttributeCharDescriptionType
 LastName 

A person's last name.

 
xs:normalizedString
Table 6.2.41-1: LastName
<LastName>Wesson</LastName>
Example 6.2.41-1: LastName

6.2.42 LEAName

Name of Local Education Agency.

LEAName
Figure 6.2.42-1: LEAName LEAName
 Element/@AttributeCharDescriptionType
 LEAName 

Name of Local Education Agency.

 
xs:normalizedString
Table 6.2.42-1: LEAName
<LEAName>Happy Meadow School District</LEAName>
Example 6.2.42-1: LEAName

6.2.43 LocalId

This is a common element used to define the locally assigned identifier associated with an entity. It is used in StudentPersonal, StaffPersonal, SchoolInfo, and other objects.

LocalId
Figure 6.2.43-1: LocalId LocalId
 Element/@AttributeCharDescriptionType
 LocalId 

This is a common element used to define the locally assigned identifier associated with an entity. It is used in StudentPersonal, StaffPersonal, SchoolInfo, and other objects.

 
xs:normalizedString
Table 6.2.43-1: LocalId
<LocalId>123321A</LocalId>
Example 6.2.43-1: LocalId

6.2.44 Location

This common element initially supports core data elements describing specific physical locations. It is not meant to replace the LocationInfo object but is, rather, supposed to facilitate consistent but informal descriptions and references of specific, physical locations.

Location
Figure 6.2.44-1: Location Location Type LocationName LocationRefId SIF_RefObject
 Element/@AttributeCharDescriptionType
 Location   
@TypeO values:
Classroom
School
District
Campus
IntermediateUnit
StateEducationAgency
NonInstructionalSpace
AthleticVenue
Other
 LocationNameOName of the location. xs:token
 LocationRefIdORefId of the location object if the location is a SIF Object such as SchoolInfoIdRefType
@SIF_RefObjectMType of SIF Object Location points to. values:
SchoolInfo
LEAInfo
RoomInfo
LocationInfo
Table 6.2.44-1: Location

6.2.45 MealStatus

This gives information about a student's meal status.

MealStatus
Figure 6.2.45-1: MealStatus MealStatus Type StartDate EndDate SchoolYear
 Element/@AttributeCharDescriptionType
 MealStatus 

This gives information about a student's meal status.

 
 
@TypeM

Meal status type.

None refers to paid students. In SIF objects where the MealStatus is required and does not apply, NA should be used.

 
values:
Free
Reduced
None
NA
 StartDateO

Date on which meal status became effective (inclusive).

 
xs:date
 EndDateC

Date on which meal status was last in effect, if in the past. This element can't exist without a StartDate.

 
xs:date
 SchoolYearO

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2004 for the 2003-04 school year).

 
SchoolYear
Table 6.2.45-1: MealStatus
<MealStatus Type="Free"> <StartDate>2004-01-01</StartDate> <EndDate>2004-12-31</EndDate> </MealStatus>
Example 6.2.45-1: MealStatus

6.2.46 MealType

This gives information about a meal type.

MealType
Figure 6.2.46-1: MealType MealType
 Element/@AttributeCharDescriptionType
 MealType 

This gives information about a meal type.

 
values:
FirstMeal
SecondMeal
StaffMeal
AdultMeal
AlaCarte
Table 6.2.46-1: MealType
<MealType>FirstMeal</MealType>
Example 6.2.46-1: MealType

6.2.47 MeetingTime

This element represents the meeting times and periods for a course, and occurs within objects such as SectionInfo and StudentSectionEnrollment.

MeetingTime
Figure 6.2.47-1: MeetingTime MeetingTime TimetableDay TimetablePeriod
 Element/@AttributeCharDescriptionType
 MeetingTime 

This element represents the meeting times and periods for a course, and occurs within objects such as SectionInfo and StudentSectionEnrollment.

 
 
 TimetableDayO

Locally defined rotation cycle day code when the section meets (e.g., in a two day schedule, valid values would be "A" and "B," or "1" and "2").

 
xs:normalizedString
 TimetablePeriodO

The period within the day when this section takes place (e.g., "0" through "7").

 
xs:normalizedString
Table 6.2.47-1: MeetingTime
<MeetingTime> <TimetableDay>M</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime>
Example 6.2.47-1: MeetingTime

6.2.48 MiddleName

A person's middle name or initial.

MiddleName
Figure 6.2.48-1: MiddleName MiddleName
 Element/@AttributeCharDescriptionType
 MiddleName 

A person's middle name or initial.

 
xs:normalizedString
Table 6.2.48-1: MiddleName
<MiddleName>Bartholomew</MiddleName>
Example 6.2.48-1: MiddleName

6.2.49 Migrant

Is this a migrant student?

Migrant
Figure 6.2.49-1: Migrant Migrant
 Element/@AttributeCharDescriptionType
 Migrant 

Is this a migrant student?

 
values:
Yes
No
Unknown
Table 6.2.49-1: Migrant
<Migrant>No</Migrant>
Example 6.2.49-1: Migrant

6.2.50 Name

The Name element, which could belong to a student, staff member, contact, etc. This element or a form with a subset of Type values occurs within objects such as StudentPersonal, StudentContact, StaffPersonal, etc.
Name
Figure 6.2.50-1: Name Name Type
 Element/@AttributeCharDescriptionType
 Name  The Name element, which could belong to a student, staff member, contact, etc. This element or a form with a subset of Type values occurs within objects such as StudentPersonal, StudentContact, StaffPersonal, etc.  BaseNameType
@TypeM

Code that specifies what type of name this is. If unsure, use 04.

 
values:
01
Given Name (Name at Birth)
02
Current Legal
03
Alias
04
Name of Record
05
Previous Name (sometimes called Maiden Name of Female Persons)
07
Married Name
08
Professional Name
Table 6.2.50-1: Name
<Name Type="04"> <Prefix>Mr.</Prefix> <LastName>Woodall</LastName> <FirstName>Charles</FirstName> <MiddleName>William</MiddleName> <PreferredName>Chuck</PreferredName> </Name>
Example 6.2.50-1: Name

6.2.51 NCESId

This is a common element used to define the identifier assigned by the National Center for Education Statistics that is associated with an entity. It is used in SchoolInfo, LEAInfo, and other objects.

NCESId
Figure 6.2.51-1: NCESId NCESId
 Element/@AttributeCharDescriptionType
 NCESId

This is a common element used to define the identifier assigned by the National Center for Education Statistics that is associated with an entity. It is used in SchoolInfo, LEAInfo, and other objects.

 
xs:normalizedString
Table 6.2.51-1: NCESId
<NCESId>421575003045</NCESId>
Example 6.2.51-1: NCESId

6.2.52 NeglectedDelinquent

Is the student participating in programs for neglected, delinquent, or at risk children?

NeglectedDelinquent
Figure 6.2.52-1: NeglectedDelinquent NeglectedDelinquent
 Element/@AttributeCharDescriptionType
 NeglectedDelinquent 

Is the student participating in programs for neglected, delinquent, or at risk children?

 
values:
Yes
No
Unknown
Table 6.2.52-1: NeglectedDelinquent
<NeglectedDelinquent>No</NeglectedDelinquent>
Example 6.2.52-1: NeglectedDelinquent

6.2.53 OnTimeGraduationYear

First projected graduation year, usually determined when student is accepted into 9th grade (CCYY).

OnTimeGraduationYear
Figure 6.2.53-1: OnTimeGraduationYear OnTimeGraduationYear
 Element/@AttributeCharDescriptionType
 OnTimeGraduationYear

First projected graduation year, usually determined when student is accepted into 9th grade (CCYY).

 
xs:gYear
Table 6.2.53-1: OnTimeGraduationYear
<OnTimeGraduationYear>2006</OnTimeGraduationYear>
Example 6.2.53-1: OnTimeGraduationYear

6.2.54 OperationalStatus

This common element contains status information about a school, LEA, or other institution.

OperationalStatus
Figure 6.2.54-1: OperationalStatus OperationalStatus
 Element/@AttributeCharDescriptionType
 OperationalStatus 

Operational condition of an institution.

For schools, use 0256 School Status Type. For LEAs, use 0032 Agency Status.

 
union of:

NCES0256SchoolStatusType
NCES0032AgencyStatusType
Table 6.2.54-1: OperationalStatus
<OperationalStatus>0820</OperationalStatus>
Example 6.2.54-1: OperationalStatus

6.2.55 OtherCodeList

List of other codes or strings that crosswalk to or serve as translations of the Code element paired with this common element. If Code changes and OtherCodes are supported, both Code and all associated OtherCode elements must be present.

OtherCodeList
Figure 6.2.55-1: OtherCodeList OtherCodeList OtherCode Codeset
 Element/@AttributeCharDescriptionType
 OtherCodeList 

List of other codes or strings that crosswalk to or serve as translations of the Code element paired with this common element. If Code changes and OtherCodes are supported, both Code and all associated OtherCode elements must be present.

 
List
 OtherCodeMR

A state/province code, local code, other code or a text string that crosswalks to or serves as a translation of an associated Code element.

 
xs:token
@CodesetM

Describes the OtherCode element content as either a state/province code, a local code, other code, or text string.

 
values:
StateProvince
Local
Other
Text
Table 6.2.55-1: OtherCodeList
<OtherCodeList> <OtherCode Codeset="Local">S</OtherCode> <OtherCode Codeset="Text">Semester</OtherCode> </OtherCodeList>
Example 6.2.55-1: OtherCodeList

6.2.56 OtherId

An "other" identifier associated with a person. This element occurs in objects such as StudentPersonal and StaffPersonal, etc.

OtherId
Figure 6.2.56-1: OtherId OtherId Type
 Element/@AttributeCharDescriptionType
 OtherId 

An "other" identifier associated with a person. This element occurs in objects such as StudentPersonal and StaffPersonal, etc.

 
xs:normalizedString
@TypeM

Code that defines the type of this other ID. Note: A subset of valid values may be specified in data objects.

 
NCES0147IdentificationSystemType
Table 6.2.56-1: OtherId
<OtherId Type="0004">333333333</OtherId>
Example 6.2.56-1: OtherId

6.2.57 OtherNames

Previous, alternate or other names or aliases associated with a person.

OtherNames
Figure 6.2.57-1: OtherNames OtherNames Name SIF_Action
 Element/@AttributeCharDescriptionType
 OtherNamesO

Previous, alternate or other names or aliases associated with a person.

 
ActionList (Name/@Type)
 NameMR

Name of the person. Note: Type value of 04 may not occur here.

 
OtherNameType
@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
Table 6.2.57-1: OtherNames
<OtherNames> <Name Type="01"> <LastName>Anderson</LastName> <FirstName>Susan</FirstName> </Name> <Name Type="07"> <LastName>Rowinski</LastName> <FirstName>Susan</FirstName> </Name> </OtherNames>
Example 6.2.57-1: OtherNames

6.2.58 PhoneNumber

This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.

PhoneNumber
Figure 6.2.58-1: PhoneNumber PhoneNumber Type Number Extension ListedStatus
 Element/@AttributeCharDescriptionType
 PhoneNumber 

This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.

 
 
@TypeM

Code that specifies what type of phone number this is. Note: A subset of valid values may be specified in data objects.

 
NCES0280TelephoneNumberTypeType
 NumberM

Phone number. Free-form, but typical U.S. formats include:

  • (###) ###-####
  • ###-####
 
xs:normalizedString
 ExtensionO

Phone number extension.

 
xs:normalizedString
 ListedStatusO

Indicates whether or not the phone number is available to the public.

 
values:
Listed
Unlisted
Unknown
Table 6.2.58-1: PhoneNumber
<PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> <Extension>245</Extension> </PhoneNumber>
Example 6.2.58-1: PhoneNumber

6.2.59 PhoneNumberList

Lists phone numbers associated with an entity.

PhoneNumberList
Figure 6.2.59-1: PhoneNumberList PhoneNumberList PhoneNumber SIF_Action
 Element/@AttributeCharDescriptionType
 PhoneNumberList 

Lists phone numbers associated with an entity.

 
ActionList (PhoneNumber/@Type)
 PhoneNumberMR PhoneNumber
@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
Table 6.2.59-1: PhoneNumberList
<PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-0103</Number> </PhoneNumber> </PhoneNumberList>
Example 6.2.59-1: PhoneNumberList

6.2.60 PlannedAssessmentParticipation

The student's planned level of participation in statewide assessments.

PlannedAssessmentParticipation
Figure 6.2.60-1: PlannedAssessmentParticipation PlannedAssessmentParticipation Codeset
 Element/@AttributeCharDescriptionType
 PlannedAssessmentParticipation 

The student's planned level of participation in statewide assessments.

Examples
Accommodations - Students with Disabilities
Accommodations - Students with temporary or long-term disabilities and Section 504 students
Accommodations - English Language Learners
Exempted Students - Transfer
Excused - Prior to Test
Excused - During Testing

xs:token
@Codeset 

Identifies source of value provided.

 
values:
StateProvince
Local
e.g. district-specific
Other
Text
Table 6.2.60-1: PlannedAssessmentParticipation
<PlannedAssessmentParticipation Codeset="StateProvince">Accommodations - Students with Disabilities</PlannedAssessmentParticipation>
Example 6.2.60-1: PlannedAssessmentParticipation

6.2.61 PrimaryAssignment

Is this the person's primary assignment?

PrimaryAssignment
Figure 6.2.61-1: PrimaryAssignment PrimaryAssignment
 Element/@AttributeCharDescriptionType
 PrimaryAssignment 

Is this the person's primary assignment?

 
values:
Yes
No
Table 6.2.61-1: PrimaryAssignment

6.2.62 Program

This common element is used to describe program information. It uses a type attribute that provides a list of values that identify programs. Each use of this common element should specify the standard list of values to be utilized within that object.

Program
Figure 6.2.62-1: Program Program Type
 Element/@AttributeCharDescriptionType
 Program

Program value.

 
xs:normalizedString
@TypeM

The type of the program. Type identifies the list of values.

 
values:
Foodservice
CFDA
NCES
Code from the NCES Handbook
StateDOE
Code defined by the State Department of Education
Local
Locally-defined code
Text
Textual description
Table 6.2.62-1: Program
<Program Type="Foodservice">NSLP</Program>
Example 6.2.62-1: Program

6.2.63 ProgramStatus

ProgramStatus
Figure 6.2.63-1: ProgramStatus ProgramStatus Code OtherCodeList
 Element/@AttributeCharDescriptionType
 ProgramStatus   
 CodeM

The current status of the student's program participation.

 
values:
S001
Referred
S002
Eligible
S003
Not Eligible
S004
Active
S005
Exited
9999
Other
 OtherCodeListO OtherCodeList
Table 6.2.63-1: ProgramStatus
<ProgramStatus> <Code>S004</Code> </ProgramStatus>
Example 6.2.63-1: ProgramStatus

6.2.64 ProgramType

ProgramType
Figure 6.2.64-1: ProgramType ProgramType Code OtherCodeList
 Element/@AttributeCharDescriptionType
 ProgramType   
 CodeM

Identifies the individualized program for which the student's participation is described in this instance.

 
union of:

NCES0274StudentFamilyProgramTypeType

subset:

0241
0242
0244
0245
0248
0875
0249
0250
0876
0251
0253
0255
0256
2389
2381
0246
0283
0284
2393
0263
0265
0267
0289
0270
0272
0278
9999

NCES0229ProgramTypeType

subset:

0300
0400
0800
1300
1400
1800
1900
2200
2300
2400
2900
3000
3100
3200


additional values:

S001
Supplemental education services
S002
Early intervening services
S003
Individual learning / graduation plan
S004
Exchange program - foreign student attending district school
S005
Exchange program - district student attending foreign school
S006
Home schooling
S007
Early childhood full-day program for 3-year-old students
S008
Early childhood full-day program for 4-year-old students
S009
Early childhood half-day program for 3-year-old students
S010
Early childhood half-day program for 4-year-old students
S011
Kindergarten full-day program
S012
Kindergarten half-day program
S013
Neglected and Delinquent (ESEA I-D)
S014
Reading First (Title I-B-1 and I-B-2)
S015
Education for homeless children and youths (MVHAA Title VII-B)
S016
Rural education (ESEA VI-B)
 OtherCodeListO OtherCodeList
Table 6.2.64-1: ProgramType
<ProgramType> <Code>0270</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">0839</OtherCode> </OtherCodeList> </ProgramType>
Example 6.2.64-1: ProgramType

6.2.65 ProjectedGraduationYear

Currently projected graduation year.

ProjectedGraduationYear
Figure 6.2.65-1: ProjectedGraduationYear ProjectedGraduationYear
 Element/@AttributeCharDescriptionType
 ProjectedGraduationYear

Currently projected graduation year (CCYY).

 
xs:gYear
Table 6.2.65-1: ProjectedGraduationYear
<ProjectedGraduationYear>2006</ProjectedGraduationYear>
Example 6.2.65-1: ProjectedGraduationYear

6.2.66 PublishInDirectory

This is a common element used to specify whether or not information (e.g., contact information) should be published in a directory. It is used in the SchoolInfo and LEAInfo objects.

PublishInDirectory
Figure 6.2.66-1: PublishInDirectory PublishInDirectory
 Element/@AttributeCharDescriptionType
 PublishInDirectory

Indicates whether or not information should be published in a directory.

 
values:
Yes
No
Table 6.2.66-1: PublishInDirectory
<PublishInDirectory>Yes</PublishInDirectory>
Example 6.2.66-1: PublishInDirectory

6.2.67 RaceList

RaceList
Figure 6.2.67-1: RaceList RaceList Race Code OtherCodeList Proportion
 Element/@AttributeCharDescriptionType
 RaceList  List
 RaceMR  
 Race/CodeM

The general racial category which reflects the individual's recognition of his or her community or with which the individual most identifies.

In a given SIF implementation Agents must have alignment on the use of the NCES and deprecated SPEEDE code sets. Agents are not required to translate between the code sets.

 
union of:

NCES0849RaceType

additional values:

A
Asian (deprecated)
H
Hispanic (deprecated)
 Race/OtherCodeListO OtherCodeList
 Race/ProportionO

A percentage associated with the race.

 
xs:decimal
Table 6.2.67-1: RaceList
<RaceList> <Race> <Code>1002</Code> </Race> </RaceList>
Example 6.2.67-1: RaceList

6.2.68 Relationship

Code that defines the relationship of one person to another.

Relationship
Figure 6.2.68-1: Relationship Relationship Code OtherCodeList
 Element/@AttributeCharDescriptionType
 Relationship 

Code that defines the relationship of one person to another.

 
 
 CodeM

Code representing the relationship.

 
NCES0609RelationshipToStudentType
 OtherCodeListO OtherCodeList
Table 6.2.68-1: Relationship
<Relationship> <Code>1735</Code> </Relationship>
Example 6.2.68-1: Relationship

6.2.69 SCEDCode

Course code from the School Codes for the Exchange of Data that describe the content of the course.

SCEDCode
Figure 6.2.69-1: SCEDCode SCEDCode CourseDescription CourseLevel AvailableCredit SequenceNumber SequenceLimit
 Element/@AttributeCharDescriptionType
 SCEDCode 

Course code from the School Codes for the Exchange of Data that describe the content of the course.

 
 
 CourseDescriptionM

Five-digit number. Subject areas are represented by the first two digits, the last three digits specify a particular course within the subject area.

 
SCEDCourseTitlesType
 CourseLevelM

Conveys the level of the course.

 
values:
B
Basic or remedial
G
General or regular
E
Enriched or advanced
H
Honors
 AvailableCreditM

Identifies the amount of credit available to a student who successfully meets the objectives of the course, measured in Carnegie units (9.99 format).

 
xs:decimal
xs:minInclusive0
xs:fractionDigits2
 SequenceNumberM

One-digit number describing where a specific course lies when it is part of a consecutive sequence of courses described by the same general course description.

 
xs:unsignedInt
xs:minInclusive1
xs:maxInclusive9
 SequenceLimitM

One-digit number representing the total number of courses in the consecutive sequence described by the same general course description.

 
xs:unsignedInt
xs:minInclusive1
xs:maxInclusive9
Table 6.2.69-1: SCEDCode
<SCEDCode> <CourseDescription>04151</CourseDescription> <CourseLevel>H</CourseLevel> <AvailableCredit>1.00</AvailableCredit> <SequenceNumber>1</SequenceNumber> <SequenceLimit>1</SequenceLimit> </SCEDCode>
Example 6.2.69-1: SCEDCode

6.2.70 SchoolContactList

A list of contact persons associated with a school.

SchoolContactList
Figure 6.2.70-1: SchoolContactList SchoolContactList SchoolContact PublishInDirectory ContactInfo
 Element/@AttributeCharDescriptionType
 SchoolContactList 

A list of contact persons associated with a school.

 
List
 SchoolContactMR

Information on contact persons for this school.

 
 
 SchoolContact/PublishInDirectory
     
O

Indicates whether or not this school contact's information should be published in a directory of school information.

 
PublishInDirectory
 SchoolContact/ContactInfo
     
M ContactInfo
Table 6.2.70-1: SchoolContactList
<SchoolContactList> <SchoolContact> <PublishInDirectory>Yes</PublishInDirectory> <ContactInfo> <Name Type="04"> <LastName>Miller</LastName> <FirstName>James</FirstName> </Name> <PositionTitle>Office Assistant</PositionTitle> <EmailList> <Email Type="Primary">jmiller@lhs.k12.state.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-1235</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> </SchoolContact> </SchoolContactList>
Example 6.2.70-1: SchoolContactList

6.2.71 SchoolName

Common element used to specify the name of a school. It is used in objects such as SchoolInfo and StudentSnapshot.

SchoolName
Figure 6.2.71-1: SchoolName SchoolName
 Element/@AttributeCharDescriptionType
 SchoolName

The name of the school.

 
xs:normalizedString
Table 6.2.71-1: SchoolName
<SchoolName>Academy High School</SchoolName>
Example 6.2.71-1: SchoolName

6.2.72 SchoolURL

URL for a school.

SchoolURL
Figure 6.2.72-1: SchoolURL SchoolURL
 Element/@AttributeCharDescriptionType
 SchoolURL 

URL for a school.

 
xs:anyURI
Table 6.2.72-1: SchoolURL
<SchoolURL>http://www.lincolnhs.edu</SchoolURL>
Example 6.2.72-1: SchoolURL

6.2.73 SchoolYear

Common element used to designate the academic school year to which an object relates.

SchoolYear
Figure 6.2.73-1: SchoolYear SchoolYear
 Element/@AttributeCharDescriptionType
 SchoolYear

School year for which this information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2004" for the 2003-04 school year).

 
xs:gYear
Table 6.2.73-1: SchoolYear
<SchoolYear>2005</SchoolYear>
Example 6.2.73-1: SchoolYear

6.2.74 Section504

Is the student a qualified individual under Section 504 of the Rehabilitation Act? (Mututally exclusive with IDEA classification.)

Section504
Figure 6.2.74-1: Section504 Section504
 Element/@AttributeCharDescriptionType
 Section504 

Is the student a qualified individual under Section 504 of the Rehabilitation Act? (Mututally exclusive with IDEA classification.)

 
values:
Yes
No
Unknown
Table 6.2.74-1: Section504
<Section504>No</Section504>
Example 6.2.74-1: Section504

6.2.75 SIF_ExtendedElements

This element is supported at the end of all SIF objects. The element is used to extend existing SIF objects with locally-defined elements. Extended elements SHOULD NOT be used to duplicate data that can be obtained from other SIF objects.

SIF_ExtendedElements
Figure 6.2.75-1: SIF_ExtendedElements SIF_ExtendedElements SIF_ExtendedElement Name xsi:type SIF_Action
 Element/@AttributeCharDescriptionType
 SIF_ExtendedElements 

Allows an agent to include data not yet defined within a SIF data object as name/value pairs.

 
ActionList (SIF_ExtendedElement/@Name)
 SIF_ExtendedElementOR

A name/value pair, the name being contained in the Name attribute, the value being the element content.

 
ExtendedContentType
@NameM

The name of the extended element. As it is possible that names for extended elements may collide from agent to agent, it is recommended that the names of extended elements be configurable in an agent, or that agents use URIs for the names of extended elements.

 
xs:normalizedString
@xsi:typeO

Allows type of element to be explicitly communicated.

 
 
@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
Table 6.2.75-1: SIF_ExtendedElements
<SIF_ExtendedElements> <SIF_ExtendedElement Name="ApplicationSubmissionStatus">4</SIF_ExtendedElement> <SIF_ExtendedElement Name="DynamicXml"> <Parent xmlns="http://myapplication.com"> <Child n="1">one</Child> <Child n="2" /> <Child n="3">three</Child> </Parent> </SIF_ExtendedElement> <SIF_ExtendedElement Name="Note"> <xhtml:strong xmlns:xhtml="http://www.w3.org/1999/xhtml">Double</xhtml:strong>-check submission status. </SIF_ExtendedElement> </SIF_ExtendedElements>
Example 6.2.75-1: SIF_ExtendedElements

6.2.76 SSN

Social Security Number

SSN
Figure 6.2.76-1: SSN SSN
 Element/@AttributeCharDescriptionType
 SSN 

Social Security Number

 
xs:token
Table 6.2.76-1: SSN
<SSN>590651225</SSN>
Example 6.2.76-1: SSN

6.2.77 StateCourseCode

State-defined standard course code used to report information about courses.

StateCourseCode
Figure 6.2.77-1: StateCourseCode StateCourseCode
 Element/@AttributeCharDescriptionType
 StateCourseCode 

State-defined standard course code used to report information about courses.

 
xs:normalizedString
Table 6.2.77-1: StateCourseCode
<StateCourseCode>08-001</StateCourseCode>
Example 6.2.77-1: StateCourseCode

6.2.78 StateProvince

A state or province code. Note: When dealing with countries other than the United States or Canada, state/province codes/values other than those referenced here can be used.

StateProvince
Figure 6.2.78-1: StateProvince StateProvince
 Element/@AttributeCharDescriptionType
 StateProvince 

A state or province code. Note: When dealing with countries other than the United States or Canada, state/province codes/values other than those referenced here can be used.

 
union of:

USPSAbbreviationsType
CanadaPostProvincesAndTerritoriesType
xs:token
Table 6.2.78-1: StateProvince
<StateProvince>IL</StateProvince>
Example 6.2.78-1: StateProvince

6.2.79 StateProvinceId

This is a common element used to define the state or province assigned identifier associated with an entity. It is used in StudentPersonal, StaffPersonal, and other objects.

StateProvinceId
Figure 6.2.79-1: StateProvinceId StateProvinceId
 Element/@AttributeCharDescriptionType
 StateProvinceId

The identifier for this entity as assigned by the state or province.

 
xs:normalizedString
Table 6.2.79-1: StateProvinceId
<StateProvinceId>L65432765</StateProvinceId>
Example 6.2.79-1: StateProvinceId

6.2.80 SubjectArea

This is a common element used to designate the subject area of a course or other learning materials, or a department. It is used in SchoolCourseInfo and learning-related objects.

SubjectArea
Figure 6.2.80-1: SubjectArea SubjectArea Code OtherCodeList
 Element/@AttributeCharDescriptionType
 SubjectArea 

This is a common element used to designate the subject area of a course or other learning materials, or a department. It is used in SchoolCourseInfo and learning-related objects.

 
 
 CodeM

The subject area code (i.e., the first two digits of the course classification code).

 
union of:

SCEDSecondaryCoursesType
SCEDNonSecondaryCoursesType
 OtherCodeListO OtherCodeList
Table 6.2.80-1: SubjectArea
<SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts</OtherCode> </OtherCodeList> </SubjectArea>
Example 6.2.80-1: SubjectArea

6.2.81 SubjectAreaList

A list of subject areas.

SubjectAreaList
Figure 6.2.81-1: SubjectAreaList SubjectAreaList SubjectArea
 Element/@AttributeCharDescriptionType
 SubjectAreaList 

A list of subject areas.

 
List
 SubjectAreaMR

Subject matter.

 
SubjectArea
Table 6.2.81-1: SubjectAreaList
<SubjectAreaList> <SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreaList>
Example 6.2.81-1: SubjectAreaList

6.2.82 TermSpan

TermSpan
Figure 6.2.82-1: TermSpan TermSpan Code OtherCodeList
 Element/@AttributeCharDescriptionType
 TermSpan   
 CodeM

Code for session type.

 
NCES0266SessionTypeType
 OtherCodeListO OtherCodeList
Table 6.2.82-1: TermSpan
<TermSpan> <Code>0828</Code> <OtherCodeList> <OtherCode Codeset="Text">Semester</OtherCode> </OtherCodeList> </TermSpan>
Example 6.2.82-1: TermSpan

6.2.83 Title1

Is the student in Title 1 programs?

Title1
Figure 6.2.83-1: Title1 Title1
 Element/@AttributeCharDescriptionType
 Title1 

Is the student in Title 1 programs?

 
values:
Yes
No
Unknown
Table 6.2.83-1: Title1
<Title1>No</Title1>
Example 6.2.83-1: Title1

6.2.84 VocationalConcentrator

Does the student meet the State criteria for classification as a vocational concentrator?

VocationalConcentrator
Figure 6.2.84-1: VocationalConcentrator VocationalConcentrator
 Element/@AttributeCharDescriptionType
 VocationalConcentrator 

Does the student meet the State criteria for classification as a vocational concentrator?

 
values:
Yes
No
Unknown
Table 6.2.84-1: VocationalConcentrator
<VocationalConcentrator>No</VocationalConcentrator>
Example 6.2.84-1: VocationalConcentrator

6.3 Assessment Working Group

The Assessment Working Group concentrates on ensuring that assessment results can be made available in a timely manner and that the results are transmitted in a meaningful manner.

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

6.3.1 Assessment

An assessment measures a student's progress and learning on specific academic standards.

SIF_Events are not reported for this object.

Assessment
Figure 6.3.1-1: Assessment Assessment RefId Name AssessmentId AssessmentPackageRefId AssessmentDescriptors AssessmentDescriptor SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Assessment   
@
key
RefIdM

The GUID that uniquely identifies this object.

 
RefIdType
 NameM

Name of the test.

 
xs:normalizedString
 AssessmentIdO

The state, local or publisher unique ID for the assessment.

 
xs:normalizedString
 AssessmentPackageRefIdO IdRefType
 AssessmentDescriptorsO

Describes what type of assessment this represents.

 
List
 AssessmentDescriptors/AssessmentDescriptor
     
OR union of:

NCES0067AssessmentTypeType

additional values:

Statewide
Formative
Local Summative
Diagnostic
Benchmark
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.1-1: Assessment
<Assessment RefId="CC2834DE9138FAB032EF399BA72A8234"> <Name>TAKS Test</Name> <AssessmentId>TX48A</AssessmentId> <AssessmentPackageRefId>B8846EB83F0D4609A3299AC59410814E</AssessmentPackageRefId> <AssessmentDescriptors> <AssessmentDescriptor>Statewide</AssessmentDescriptor> </AssessmentDescriptors> <SIF_Metadata> <EducationFilter> <LearningStandardItems> <LearningStandardItemRefId>FA3023B26277CAD47105327F3A782BED</LearningStandardItemRefId> <LearningStandardItemRefId>DE937CB2627AAE872850E1F3A782BEDF</LearningStandardItemRefId> <LearningStandardItemRefId>BCFA143627AAE87E830E1F3AD92B4DA7</LearningStandardItemRefId> <LearningStandardItemRefId>DE840286ABB72198756E1F349CAE8273</LearningStandardItemRefId> <LearningStandardItemRefId>913DE839BA8329FCA938EF2709BC31A0</LearningStandardItemRefId> <LearningStandardItemRefId>A8930CD176EBB992714ACEB78492AE9C</LearningStandardItemRefId> <LearningStandardItemRefId>0264FFBA72C78ED903BE27CAA18905FB</LearningStandardItemRefId> </LearningStandardItems> </EducationFilter> </SIF_Metadata> </Assessment>
Example 6.3.1-1: Assessment

6.3.2 AssessmentAdministration

This object represents an assessment event. It includes information related to the time of administration, place of administration, and unusual events related to the administration.

SIF_Events are reported for this object.

AssessmentAdministration
Figure 6.3.2-1: AssessmentAdministration AssessmentAdministration RefId AssessmentFormRefId AdministrationName SpecialConditions SpecialCondition Code SIF_Action AdministrationDateTime StartDateTime FinishDateTime DueDateTime Address StaffPersonalRefId LEAInfoRefId SchoolInfoRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentAdministration 

This object represents an assessment event. It includes information related to the time of administration, place of administration, and unusual events related to the administration.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
@AssessmentFormRefIdM

The RefId of the assessment form used in the assessment administration.

 
IdRefType
 AdministrationNameO xs:normalizedString
 SpecialConditionsO

Special conditions or unusual events related to the administration event.

 
ActionList (SpecialCondition/@Code)
 SpecialConditions/SpecialCondition
     
MR

A text description of the special condition.

Examples
Fire drill during test.
Air conditioning broke during the request.
Assessment was given over three days instead of in one sitting.

xs:string
@CodeM

This is the primary key for the list of special conditions.

 
xs:token
@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
 AdministrationDateTimeM

Date and time the test is scheduled to be given.

 
xs:dateTime
 StartDateTimeO

Date and time testing begins.

 
xs:dateTime
 FinishDateTimeO

Date and time testing ends.

 
xs:dateTime
 DueDateTimeO

Date and time test is due.

 
xs:dateTime
 AddressO

Address of the location where the administration takes place.

 
Address
 StaffPersonalRefIdO

Optional reference to a staff person associated with the administration.

 
IdRefType
 LEAInfoRefIdO

Optional reference to a school district associated with the administration.

 
IdRefType
 SchoolInfoRefIdO

Optional reference to a school associated with the administration.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.2-1: AssessmentAdministration
<AssessmentAdministration RefId="E2E8045FD8884745AC588F1DDDBEE864" AssessmentFormRefId="78DA3F367AAE4E34995CE15530F531CC"> <SpecialConditions> <SpecialCondition Code="25B">Fire drill during test.</SpecialCondition> </SpecialConditions> <AdministrationDateTime>2006-03-06T14:30:00-05:00</AdministrationDateTime> <FinishDateTime>2006-03-06T15:30:00-05:00</FinishDateTime> </AssessmentAdministration>
Example 6.3.2-1: AssessmentAdministration

6.3.3 AssessmentForm

Represents the unique set of questions or stimuli given to a set of test takers. A physical correlate of the assessment form is the test booklet given to students during an assessment. However, this object does not contain the questions, it only contains elements that describe the form for use in scoring the questions.

SIF_Events are not reported for this object.

AssessmentForm
Figure 6.3.3-1: AssessmentForm AssessmentForm RefId AssessmentRefId AssessmentType FormName FormNumbers FormNumber Level Period GradeLevels AssessmentSubTestRefIds AssessmentSubTestRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentForm 

Represents the unique set of questions or stimuli given to a set of test takers. A physical correlate of the assessment form is the test booklet given to students during an assessment. However, this object does not contain the questions, it only contains elements that describe the form for use in scoring the questions.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
@AssessmentRefIdM

The RefId of the assessment related to this form.

 
IdRefType
 AssessmentTypeO

Indicates whether this assessment (form) is a standard administration or alternate.

 
values:
standard
alternate
 FormNameM

Text description for this particular arrangement of questions, etc.

 
xs:normalizedString
 FormNumbersO

Reference numbers for the form.

 
List
 FormNumbers/FormNumberMR

Reference number for the form.

 
xs:token
 LevelO

Indicates the level of the form.

Examples
Grade 3
Leveling System

xs:token
 PeriodO

The time period in which the form is intended to be administered.

 
xs:token
 GradeLevelsO

Grade levels this assessment is designed to evaluate.

 
GradeLevels
 AssessmentSubTestRefIdsO

Associated subtests (score types). Each form can provide scores in one or more subtest areas.

 
List
 AssessmentSubTestRefIds/AssessmentSubTestRefId
     
OR

A subtest identified by RefId.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.3-1: AssessmentForm
<AssessmentForm RefId="13F3C7AFF8464EE1862B0622A010883E" AssessmentRefId="77C5D8A7345B4BE883053228C9708512"> <AssessmentType>standard</AssessmentType> <FormName>Form A</FormName> <FormNumbers> <FormNumber>34</FormNumber> </FormNumbers> <Level>Grade 3</Level> <Period>Spring</Period> <AssessmentSubTestRefIds> <AssessmentSubTestRefId>C356A7559EB144DE8B09097078A94F86</AssessmentSubTestRefId> </AssessmentSubTestRefIds> </AssessmentForm>
Example 6.3.3-1: AssessmentForm

6.3.4 AssessmentItem

This object is designed to allow software systems to provide item detail information such as the stem of the item, the distractors, the stimuli, etc. This initial version of the object does not deal with presentation aspects of the item. Instead it focuses on the item content and characteristics needed to enable interoperability and the usage of item-level information in the improvement of learning and instruction.

SIF_Events are not reported for this object.

Click here for non-normative background/supplementary documentation on this object.

AssessmentItem
Figure 6.3.4-1: AssessmentItem AssessmentItem RefId AssessmentFormRefId ResponseType ItemLabel ItemName LearningStandardItems LearningStandardItemRefId Stimulus Stem ResponseChoices Choice ChoiceLabel ChoiceContent CreditValue SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentItem 

This object is designed to allow software systems to provide item detail information such as the stem of the item, the distractors, the stimuli, etc. This initial version of the object does not deal with presentation aspects of the item. Instead it focuses on the item content and characteristics needed to enable interoperability and the usage of item-level information in the improvement of learning and instruction.

 
 
@
key
RefIdM RefIdType
@AssessmentFormRefIdM

This RefId points to the assessment form of which the item is a part.

 
IdRefType
@ResponseTypeM

A value that indicates the response type for the item.

 
values:
multiple-choice
multiple-multiple choice
true-false
fill-in-the-blank
short-answer
essay
 ItemLabelM

An item number or other identifier for the item. It may be used to indicate the order or grouping of items.

 
xs:token
 ItemNameO

Name or short description of the item.

 
xs:string
 LearningStandardItemsO

This object contains information related to curriculum standards statements "standards" or "benchmarks" or the like within the document. This object primarily focuses upon state department curriculum standards, published curriculum standards and local education agency learning standards. Each LearningStandardItemRefId reflects an individual standard statement and may occur at several levels within a hierarchially structured document.

 
List
 LearningStandardItems/LearningStandardItemRefId
     
MR IdRefType
 StimulusC

A piece of content to be used by the test taker in responding to the stem. Examples include a reading passage, a video, a diagram, or a picture.

Note: The Stimulus element only is included when a Stem element exists.

 
AbstractContentElementType
 StemO

The question, task, or statement that prompts a response from the test taker.

 
AbstractContentElementType
 ResponseChoicesC

This complex element will not be included in the object if @ResponseType is:

  • fill-in-the-blank
  • short-answer
  • essay

Other cases will be added in the future.

 
 
 ResponseChoices/ChoiceMR  
 ResponseChoices/Choice/ChoiceLabel
     
O

A choice number or other identifier for the choice. It may be used to indicate the order or grouping of the choices.

 
xs:normalizedString
 ResponseChoices/Choice/ChoiceContent
     
M

The text of the choice, such as true, 27, or Important economic and social factors.

 
AbstractContentElementType
 ResponseChoices/Choice/CreditValue
     
O

A numeric value that indicates the amount of credit awarded for choosing the choice.

 
xs:float
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.4-1: AssessmentItem
<AssessmentItem RefId="C294F3E190F019AD8E1DFC8367537EC8" AssessmentFormRefId="9372CB8EA910FF87D5672CAEF01387AA" ResponseType="multiple-choice"> <ItemLabel>5</ItemLabel> <ItemName>Geometry diagnostic</ItemName> <LearningStandardItems> <LearningStandardItemRefId>DE072A87EFAD4B778AF9FAF83C94839E</LearningStandardItemRefId> </LearningStandardItems> <Stimulus> <Reference MIMEType="image/jpeg" Description="triangle_1"> <URL>http://www.trianglezz.com/triangle.jpg</URL> </Reference> </Stimulus> <Stem> <TextData Description="Pythagorean Theorem"> Express the length of side C in terms of A and B. </TextData> </Stem> <ResponseChoices> <Choice> <ChoiceLabel>A</ChoiceLabel> <ChoiceContent> <TextData>A + B</TextData> </ChoiceContent> <CreditValue>0.0</CreditValue> </Choice> <Choice> <ChoiceLabel>B</ChoiceLabel> <ChoiceContent> <TextData>3PI*R</TextData> </ChoiceContent> <CreditValue>-0.1</CreditValue> </Choice> <Choice> <ChoiceLabel>C</ChoiceLabel> <ChoiceContent> <TextData>SQRT(A2 + B2)</TextData> </ChoiceContent> <CreditValue>1.0</CreditValue> </Choice> <Choice> <ChoiceLabel>D</ChoiceLabel> <ChoiceContent> <TextData>A2 + B2</TextData> </ChoiceContent> <CreditValue>0.5</CreditValue> </Choice> </ResponseChoices> </AssessmentItem>
Example 6.3.4-1: AssessmentItem

6.3.5 AssessmentPackage

SIF_Events are not reported for this object.

AssessmentPackage
Figure 6.3.5-1: AssessmentPackage AssessmentPackage RefId XMLData Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentPackage 

A wrapper for any external standard that can define or transmit the content of an assessment.

 
 
@
key
RefIdM

The GUID that uniquely identifies an object instance in a zone.

 
RefIdType
 XMLDataC

Contains an arbitary XML element, encoded in UTF-8.

 
<xs:any processContents="lax" />
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD).

 
xs:token
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.5-1: AssessmentPackage
<AssessmentPackage RefId="495A00194CA340E3A33777B42E59C4F2"> <XMLData Description="Assessment">...</XMLData> </AssessmentPackage>
Example 6.3.5-1: AssessmentPackage

6.3.6 AssessmentRegistration

This object represents the assignment of a specific assessment to be taken by a student.

SIF_Events are reported for this object.

AssessmentRegistration
Figure 6.3.6-1: AssessmentRegistration AssessmentRegistration RefId StudentPersonalRefId AssessmentAdministrationRefId CreationDateTime StudentSpecialConditions StudentSpecialCondition Code StudentGradeLevel AssessmentGradeLevel AssessmentStudentSnapshot RaceList HispanicLatino Gender BirthDate Title1 ELL LEAInfoRefId SchoolInfoRefId StaffPersonalRefId SectionInfoRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentRegistration 

This object represents the assignment of a specific assessment to be taken by a student.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
@StudentPersonalRefIdM

The student associated with the registration.

 
IdRefType
@AssessmentAdministrationRefIdM

The assessment administration associated with the registration.

 
IdRefType
 CreationDateTimeM

Date/time assignment is made.

 
xs:dateTime
 StudentSpecialConditionsO

Records student-specific special conditions during the test.

 
List
 StudentSpecialConditions/
     StudentSpecialCondition
MR

A description of the special condition. Student special conditions are different from special conditions of the test.

 
xs:normalizedString
@CodeM

A code indicating the type of special condition.

 
xs:token
 StudentGradeLevelO

Grade level of the student at the time of testing.

 
GradeLevel
 AssessmentGradeLevelO

The grade or level at which the student is to be tested. This element should be omitted unless the student is being tested out-of-level.

 
GradeLevel
 AssessmentStudentSnapshotO

The status of the student at the time of testing. The source of this information is meant to be the assessment system and not the student information system.

 
 
 AssessmentStudentSnapshot/
     RaceList
O

Person's race

 
RaceList
 AssessmentStudentSnapshot/
     HispanicLatino
O HispanicLatino
 AssessmentStudentSnapshot/
     Gender
O

Person's gender.

 
Gender
 AssessmentStudentSnapshot/
     BirthDate
O

The person's date of birth.

 
BirthDate
 AssessmentStudentSnapshot/
     Title1
O Title1
 AssessmentStudentSnapshot/
     ELL
O ELL
 LEAInfoRefIdO

Optional reference to a district associated with the registration.

 
IdRefType
 SchoolInfoRefIdO

Optional reference to a school associated with the registration.

 
IdRefType
 StaffPersonalRefIdO

Optional reference to a staff person associated with the registration.

 
IdRefType
 SectionInfoRefIdO

Optional reference to a section (or class) associated with the registration.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.6-1: AssessmentRegistration
<AssessmentRegistration RefId="84243B2716EA4A68889B57A07E3707C9" StudentPersonalRefId="0D015F74DAB645FD92EFA8F43F2D79C3" AssessmentAdministrationRefId="6B08DF6E158941D9B8206D16E1FA6219"> <CreationDateTime>2006-03-05T09:30:00-05:00</CreationDateTime> <StudentSpecialConditions> <StudentSpecialCondition Code="45C">Student became ill during test.</StudentSpecialCondition> </StudentSpecialConditions> <StudentGradeLevel> <Code>04</Code> </StudentGradeLevel> <AssessmentGradeLevel> <Code>03</Code> </AssessmentGradeLevel> <AssessmentStudentSnapshot> <RaceList> <Race> <Code>1002</Code> </Race> </RaceList> <Gender>F</Gender> <BirthDate>1996-09-12</BirthDate> <Title1>Yes</Title1> <ELL>No</ELL> </AssessmentStudentSnapshot> <LEAInfoRefId>325335F330A24BCD85E263E5C1EAAF89</LEAInfoRefId> <SchoolInfoRefId>0578B825250649DE930BF8916175BBAB</SchoolInfoRefId> <StaffPersonalRefId>3CD4A20CE2D64C27AE977F02D2CE24B3</StaffPersonalRefId> <SectionInfoRefId>CE38829615A74E0E9D37CDBFB9F93295</SectionInfoRefId> </AssessmentRegistration>
Example 6.3.6-1: AssessmentRegistration

6.3.7 AssessmentSubTest

A psychological construct measured by the assessment. Operationally, a subtest is a class of scores on an assessment. Some assessments may have only one subtest or type of score but most assessments measure more than one psychological construct. The subtest can be based upon items in a section or items that are empirically related. Subtests can also be composites of other subtests that are combined using a particular algorithm. Examples of subtests of an assessment are math total, reading composite, total test, and English composition.

SIF_Events are not reported for this object.

AssessmentSubTest
Figure 6.3.7-1: AssessmentSubTest AssessmentSubTest RefId Name ScoreRange ScoreMetric Minimum Maximum PerformanceLevels PerformanceLevel LevelName CutScores ScoreMetric LowerCut UpperCut SubjectArea GradeLevels AssessmentSubTestRefIds AssessmentSubTestRefId SubTestTier LearningStandardItemRefIds LearningStandardItemRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AssessmentSubTest 

A psychological construct measured by the assessment. Operationally, a subtest is a class of scores on an assessment. Some assessments may have only one subtest or type of score but most assessments measure more than one psychological construct. The subtest can be based upon items in a section or items that are empirically related. Subtests can also be composites of other subtests that are combined using a particular algorithm. Examples of subtests of an assessment are math total, reading composite, total test, and English composition.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
 NameM

Text name of the subtest.

 
xs:normalizedString
 ScoreRangeOThe possible range of scores.  
@ScoreMetricM

The metric or scale used to report the scores.

 
NCES0056AssessmentReportingMethodType
 ScoreRange/MinimumO

Lowest possible score value.

 
xs:token
 ScoreRange/MaximumO

Highest possible score value.

 
xs:token
 PerformanceLevelsO

Container for performance level elements.

 
List
 PerformanceLevels/PerformanceLevel
     
OR

Defines cut scores for placing students in appropriate performance levels.

 
 
@LevelNameM

The name of the performance level.

 
xs:token
 PerformanceLevels/PerformanceLevel/
     CutScores
O

Score bounds for the performance level.

 
 
@ScoreMetricM

The metric or scale used to report the scores.

 
NCES0056AssessmentReportingMethodType
 PerformanceLevels/PerformanceLevel/
     CutScores/LowerCut
O

Lower bound for the performance level.

 
xs:token
 PerformanceLevels/PerformanceLevel/
     CutScores/UpperCut
O

Upper bound for the performance level.

 
xs:token
 SubjectAreaO

Content area covered by the score.

 
xs:token
 GradeLevelsO

Grade levels for which the score is valid.

 
GradeLevels
 AssessmentSubTestRefIdsO

References (possibly recursive) to other SIF AssessmentSubTests. This enables subtests or scores to be composites of other scores. If any references are given here, the score is a composite score. The list must be unique.

 
List
 AssessmentSubTestRefIds/AssessmentSubTestRefId
     
MR

A reference to an AssessmentSubTest by RefId.

 
IdRefType
 SubTestTierO

An integer that defines the level or tier of the score in a multi-level arrangement of composite scores. Zero indicates the highest or root level.

 
xs:unsignedInt
 LearningStandardItemRefIdsO

References to LearningStandardItems. The list must be unique.

 
List
 LearningStandardItemRefIds/
     LearningStandardItemRefId
     
MR

A reference to a LearningStandardItem by RefId.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.7-1: AssessmentSubTest
<AssessmentSubTest RefId="90E298F70E094EE2B8B52DFD88006AF2"> <Name>Reading Comprehension Subtest</Name> <ScoreRange ScoreMetric="0499"> <Minimum>0</Minimum> <Maximum>110</Maximum> </ScoreRange> <PerformanceLevels> <PerformanceLevel LevelName="Basic"> <CutScores ScoreMetric="0499"> <LowerCut>25</LowerCut> <UpperCut>50</UpperCut> </CutScores> </PerformanceLevel> </PerformanceLevels> <SubjectArea>Reading Comprehension</SubjectArea> <GradeLevels> <GradeLevel> <Code>03</Code> </GradeLevel> </GradeLevels> <AssessmentSubTestRefIds> <AssessmentSubTestRefId>4710A15C428C48EBBC17CF320B6DCF25</AssessmentSubTestRefId> </AssessmentSubTestRefIds> <SubTestTier>0</SubTestTier> <LearningStandardItemRefIds> <LearningStandardItemRefId>3E4BEBCA14E54A118051DFA239A65990</LearningStandardItemRefId> </LearningStandardItemRefIds> </AssessmentSubTest>
Example 6.3.7-1: AssessmentSubTest

6.3.8 ItemCharacteristics

This object provides specific information about each assessment item. This information includes an analysis, psychometric measures, reliability and validity information. This item-level information assists in interpreting assessment scores as well as aide in improving teaching and learning.

SIF_Events are not reported for this object.

ItemCharacteristics
Figure 6.3.8-1: ItemCharacteristics ItemCharacteristics RefId AssessmentItemRefId AssessmentFormRefId Descriptive PValue SampleSize PointBiserial Biserial DiscriminationIndex DifferentialItemAnalysis CMH MH ResponseChoicePattern Choice ChoiceLabel Responses SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ItemCharacteristics This object provides specific information about each assessment item. This information includes an analysis, psychometric measures, reliability and validity information. This item-level information assists in interpreting assessment scores as well as aide in improving teaching and learning.  
@
key
RefIdM RefIdType
@AssessmentItemRefIdMThis RefId points to the assessment item of which the characteristics are a part. IdRefType
@AssessmentFormRefIdMThis RefId points to the assessment form of which the item is a part. IdRefType
 DescriptiveO  
 Descriptive/PValueOThe percent of respondents who answered correctly. This number represents the probability of the correct response to a question. xs:float
 Descriptive/SampleSizeOThe size of the student group that saw the item. xs:integer
 Descriptive/PointBiserial
     
OThe correlation between correct answers (dichotomous variable) on this item and total correct answers on the test. xs:decimal
xs:minInclusive-1.00
xs:maxInclusive1.00
 Descriptive/BiserialOSimilar to the Point Biserial Correlation except that answers to the item are assumed to come from an underlying continuous variable. xs:decimal
xs:minInclusive-1.00
xs:maxInclusive1.00
 Descriptive/DiscriminationIndex
     
OThe Index of Discrimination is the difference between the proportion of an upper group who got an item right and the proportion of a lower group who got the item right. xs:decimal
xs:minInclusive0
xs:maxInclusive1.00
 DifferentialItemAnalysisO  
 DifferentialItemAnalysis/
     CMH
OCochran-Mantel-Haenszel statistic. xs:decimal
xs:minInclusive-1.00
xs:maxInclusive1.00
 DifferentialItemAnalysis/
     MH
OMantel-Haenszel statistic. xs:decimal
xs:minInclusive-1.00
xs:maxInclusive1.00
 ResponseChoicePatternOThe distribution of responses to each choice. This element only applies to multiple choice items. List
 ResponseChoicePattern/Choice
     
MR  
 ResponseChoicePattern/Choice/
     ChoiceLabel
MIdentifier for the choice. xs:token
 ResponseChoicePattern/Choice/
     Responses
MThe number of responses. xs:integer
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.8-1: ItemCharacteristics
<ItemCharacteristics RefId="64B0CC6CFB314A328E520A102229CBC8" AssessmentItemRefId="A328E520A102229CBC864B0CC6CFB314" AssessmentFormRefId="229CBC864A328E520A102B0CC6CFB314"> <Descriptive> <PValue>.75</PValue> <SampleSize>135</SampleSize> <PointBiserial>-.01</PointBiserial> <Biserial>-.02</Biserial> <DiscriminationIndex>.55</DiscriminationIndex> </Descriptive> <DifferentialItemAnalysis> <CMH>-.30</CMH> <MH>-.15</MH> </DifferentialItemAnalysis> <ResponseChoicePattern> <Choice> <ChoiceLabel>A</ChoiceLabel> <Responses>27</Responses> </Choice> <Choice> <ChoiceLabel>B</ChoiceLabel> <Responses>43</Responses> </Choice> <Choice> <ChoiceLabel>C</ChoiceLabel> <Responses>65</Responses> </Choice> </ResponseChoicePattern> <SIF_Metadata> <TimeElements> <TimeElement> <Type>Full school year</Type> <Code>01</Code> <Name>2004/2005 School Year</Name> <Value>2004-2005</Value> <StartDateTime>2004-09-01T08:00:00-05:00</StartDateTime> <EndDateTime>2005-06-30T15:00:00-05:00</EndDateTime> <IsCurrent>true</IsCurrent> </TimeElement> </TimeElements> <LifeCycle> <Created> <DateTime>2006-08-13T09:00:00-05:00</DateTime> <Creators> <Creator> <Name>My Testing Service</Name> <ID>http://www.myTestingService.com</ID> </Creator> </Creators> </Created> <ModificationHistory> <Modified> <By>http://www.myTestingService.com</By> <DateTime>2006-08-17T09:30:00-05:00</DateTime> </Modified> </ModificationHistory> </LifeCycle> </SIF_Metadata> </ItemCharacteristics>
Example 6.3.8-1: ItemCharacteristics

6.3.9 StudentResponseSet

This object transmits the student's responses to stimuli presented in an assessment. These are the raw, unscored responses.

SIF_Events are reported for this object.

StudentResponseSet
Figure 6.3.9-1: StudentResponseSet StudentResponseSet RefId AssessmentAdministrationRefId StudentPersonalRefId AssessmentRegistrationRefId Items Item AssessmentItemRefId Response ResponseLocation ResponseStatus ResponseTime ItemNumber ItemName DiagnosticStatement NumberOfAttempts SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentResponseSet 

This object transmits the student's responses to stimuli presented in an assessment. These are the raw, unscored responses.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
@AssessmentAdministrationRefIdM

The administration associated with the response set.

 
IdRefType
@StudentPersonalRefIdM

The student associated with the response set.

 
IdRefType
@AssessmentRegistrationRefIdO

The registration associated with the response set.

 
IdRefType
 ItemsM

Container for item elements.

 
List
 Items/ItemOR

The item contains response data and metadata for each item.

 
 
@AssessmentItemRefIdO

A GUID that identifies the item object associated with this student result.

 
IdRefType
 Items/Item/ResponseM

Answer selected or student work in raw format.

Examples
C
19

xs:string
 Items/Item/ResponseLocation
     
O

An optional element that contains a URL pointing to the location of the response or additional response.

 
xs:anyURI
 Items/Item/ResponseStatus
     
O

Status of the response.

 
values:
Correct
Incorrect
Complete
PartiallyComplete
Viewed
NotViewed
The item was not viewed by the student
NotAnswered
Attempted
The item was viewed but no response given
Incomplete
 Items/Item/ResponseTimeO

The length of time the student took to respond.

 
xs:duration
 Items/Item/ItemNumberO

Identifies the item on the assessment by number.

 
xs:token
 Items/Item/ItemNameO

Identifies the item on the assessment by name.

 
xs:token
 Items/Item/DiagnosticStatement
     
O

Psychometric purpose or design-related comment about the question.

 
xs:string
 Items/Item/NumberOfAttempts
     
O

The number of times a student changes their answer or attempts a response.

 
xs:unsignedInt
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.9-1: StudentResponseSet
<StudentResponseSet RefId="A32F55CC14004172A7CD8E8FB5187DD0" AssessmentAdministrationRefId="BB181B05598C46D2B8D533483D91392E" StudentPersonalRefId="8F0934CC2F0448F8BBD788AA1ADE691B"> <Items> <Item> <Response>C</Response> <ResponseLocation>http://assessments-r-us.com/29834928374/2394/response.html</ResponseLocation> <ResponseStatus>Incomplete</ResponseStatus> <ResponseTime>PT32S</ResponseTime> <ItemNumber>27</ItemNumber> <ItemName>Writing Sample 1</ItemName> <DiagnosticStatement>Shows ability to determine symmetry</DiagnosticStatement> <NumberOfAttempts>2</NumberOfAttempts> </Item> </Items> </StudentResponseSet>
Example 6.3.9-1: StudentResponseSet

6.3.10 StudentScoreSet

The scored results from an assessment.

SIF_Events are reported for this object.

StudentScoreSet
Figure 6.3.10-1: StudentScoreSet StudentScoreSet RefId ScoreMetric AssessmentAdministrationRefId StudentPersonalRefId AssessmentRegistrationRefId Scores Score AssessmentSubTestRefId ScoreValue DiagnosticStatement SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentScoreSet 

The scored results from an assessment.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the object.

 
RefIdType
@ScoreMetricM

The metric or scale used to report the score.

 
NCES0056AssessmentReportingMethodType
@AssessmentAdministrationRefIdM

The administration associated with this score set.

 
IdRefType
@StudentPersonalRefIdM

The student associated with this score set.

 
IdRefType
@AssessmentRegistrationRefIdO

The registration associated with this score set.

 
IdRefType
 ScoresM

Container for score elements.

 
List
 Scores/ScoreOR

The score with other information related to the score.

 
 
@AssessmentSubTestRefIdM

References the AssessmentSubTest that defines the score.

 
IdRefType
 Scores/Score/ScoreValueM

The value of the score.

 
xs:normalizedString
 Scores/Score/DiagnosticStatement
     
O

Comment created by any logical analysis of this score.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.3.10-1: StudentScoreSet
<StudentScoreSet RefId="5810E283E928459CBBA76EFE1963F784" ScoreMetric="0512" AssessmentAdministrationRefId="1F971F3D414E4146932566638290E6C1" StudentPersonalRefId="8F0934CC2F0448F8BBD788AA1ADE691B"> <Scores> <Score AssessmentSubTestRefId="E5EDAE63A04D47E49D0224A32956B074"> <ScoreValue>25</ScoreValue> <DiagnosticStatement>Shows ability to identify symmetry.</DiagnosticStatement> </Score> </Scores> </StudentScoreSet>
Example 6.3.10-1: StudentScoreSet

6.4 Data Model Task Force

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

6.4.1 SIF_Metadata

Metadata is commonly referred to as data about data and includes information such as author, grade level, or keywords relating to a learning object, as examples. Metadata can be used to structure and contain any of this kind of information in a consistent manner. In the context of SIF, SIF_Metadata provides a consistent structure to appropriate SIF objects for the purpose of cataloging and object discovery, as well as other metadata functions and purposes. One recurring use case within the SIF data model is the requirement for some form of temporal constraints and tagging on objects (see TimeElement). Other metadata elements are based on needs brought to the Data Model Task Force.

IMPORTANT NOTE ON PERSISTENCE

This data is not designed to be permanent. It is designed to frame an object instance and could dissolve as soon as it leaves the SIF framework for the application space. A data warehouse could be used to store metadata for later tracking.

IMPORTANT NOTE ON USAGE

Any usage of metadata is optional unless made a requirement within individual SIF objects, or if a SIF or local profile or zone installation mandates it. SIF_Metadata allows for the usage of metadata in agents and applications that choose to support it.

This element is designed to operate much like SIF_ExtendedElements. It is an approved common element that is part of any data object.

SIF_Metadata
Figure 6.4.1-1: SIF_Metadata SIF_Metadata TimeElements TimeElement LifeCycle RightsElements RightsElement EducationFilter
 Element/@AttributeCharDescriptionType
 SIF_Metadata 

A commonly defined container for metadata elements defined within SIF.

 
 
 TimeElementsO List
 TimeElements/TimeElementOR TimeElement
 LifeCycleO LifeCycle
 RightsElementsO List
 RightsElements/RightsElement
     
OR RightsElement
 EducationFilterO EducationFilter
Table 6.4.1-1: SIF_Metadata
<SIF_Metadata> <TimeElements> <TimeElement> <Type>Full school year</Type> <Code>01</Code> <Name>2004/2005 School Year</Name> <Value>2004-2005</Value> <StartDateTime>2004-09-01T08:00:00-05:00</StartDateTime> <EndDateTime>2005-06-30T15:00:00-05:00</EndDateTime> <SpanGaps> <SpanGap> <Type>Holiday</Type> <Code>02</Code> <Name>2005 Winter Break</Name> <Value>2005 Winter Break</Value> <StartDateTime>2005-02-21T15:00:00-05:00</StartDateTime> <EndDateTime>2005-02-25T08:00:00-05:00</EndDateTime> </SpanGap> </SpanGaps> <IsCurrent>true</IsCurrent> </TimeElement> </TimeElements> </SIF_Metadata>
Example 6.4.1-1: SIF_Metadata

6.4.2 TimeElement

A common metadata element designed to contain time data, both self-defined and by type.

TimeElement
Figure 6.4.2-1: TimeElement TimeElement Type Code Name Value StartDateTime EndDateTime SpanGaps SpanGap Type Code Name Value StartDateTime EndDateTime IsCurrent
 Element/@AttributeCharDescriptionType
 TimeElement 

A common metadata element designed to contain time data, both self-defined and by type.

 
 
 TypeM

This element is designed to contain the time period attached to an object. Very long periods (school year, quarter, etc.) and very small periods (second, millisecond, etc.) can be defined. This element provides a scoping description of the time metadata enclosed.

Because the educational environment varies so greatly we are including here a suggested but not prescriptive list of values. Although there may be unique needs for values not covered here—and we may have missed a major one—a best practice would be to utilize the examples here to enhance interoperability.

Examples
Full school year
Mini-term
Long session
Other
Semester
Trimester
Quarter
Spring Vacation
Summer Term
Intercession
Holiday

xs:normalizedString
 CodeM This element provides a place for the application to send structured data (code values, unique identifier, timestamps). This code value can, depending upon the use case agreement between agents, be used to qualify the data in the Value element.

Examples
2007SY
2006.FallConferences

xs:token
 NameM Contains a human-readable description of the value in Value.

Examples
Class of '07
Fall 2007 Parent-Teacher Conferences

xs:normalizedString
 ValueMContains the human-readable value.

Examples
2007
Evening of 10/12/06

xs:normalizedString
 StartDateTimeO xs:dateTime
 EndDateTimeO xs:dateTime
 SpanGapsOA container element for holding multiple possible span gaps. List
 SpanGaps/SpanGapOR This structure duplicates much of the structure of TimeElement and is designed to represent a gap in the parent time period defined by StartDateTime and EndDateTime above.   
 SpanGaps/SpanGap/TypeM xs:normalizedString
 SpanGaps/SpanGap/CodeM xs:token
 SpanGaps/SpanGap/NameM xs:normalizedString
 SpanGaps/SpanGap/ValueM xs:normalizedString
 SpanGaps/SpanGap/StartDateTime
     
O xs:dateTime
 SpanGaps/SpanGap/EndDateTime
     
O xs:dateTime
 IsCurrentM This element allows for the system to tag an object as being explicitly current. Although the baseline assumption in SIF is that objects are always current (default value is typically true), there are use cases when that is not the case.  xs:boolean
Table 6.4.2-1: TimeElement
<TimeElement> <Type>Full school year</Type> <Code>01</Code> <Name>2004/2005 School Year</Name> <Value>2004-2005</Value> <StartDateTime>2004-09-01T08:00:00-05:00</StartDateTime> <EndDateTime>2005-06-30T15:00:00-05:00</EndDateTime> <SpanGaps> <SpanGap> <Type>Holiday</Type> <Code>02</Code> <Name>2005 Winter Break</Name> <Value>2005 Winter Break</Value> <StartDateTime>2005-02-21T15:00:00-05:00</StartDateTime> <EndDateTime>2005-02-25T08:00:00-05:00</EndDateTime> </SpanGap> </SpanGaps> <IsCurrent>true</IsCurrent> </TimeElement>
Example 6.4.2-1: TimeElement

6.4.3 LifeCycle

This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].

LifeCycle
Figure 6.4.3-1: LifeCycle LifeCycle Created DateTime Creators Creator Name ID ModificationHistory Modified By DateTime Description TimeElements TimeElement
 Element/@AttributeCharDescriptionType
 LifeCycle 

This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].

 
 
 CreatedO When the object was created by whom. This is a more persistent creation date than the date/time in the object's SIF_Header. Depending on the use case being implemented, this value could contain the date the data in the object first entered the zone or was actually created.   
 Created/DateTimeM xs:dateTime
 Created/CreatorsO List
 Created/Creators/CreatorMR  
 Created/Creators/Creator/
     Name
M Human-readable name of the data's creator. If the object contains system-generated data, the name should identify the creating service or application.  xs:normalizedString
 Created/Creators/Creator/
     ID
MUnique identifier of the creator. An email address or URI could be used here. xs:normalizedString
 ModificationHistoryO An ordered set of Modified elements describing which system modified the data, when the modification took place, and a brief description of the modification.  List
 ModificationHistory/Modified
     
ORA single modification event.  
 ModificationHistory/Modified/
     By
MIdentifier of the system or person that modified the data. xs:normalizedString
 ModificationHistory/Modified/
     DateTime
MThe date/time the modification occurred. xs:dateTime
 ModificationHistory/Modified/
     Description
OHuman readable description of the data modifications. xs:string
 TimeElementsO List
 TimeElements/TimeElementOR TimeElement
Table 6.4.3-1: LifeCycle
<LifeCycle> <Created> <DateTime>2006-08-13T09:00:00-05:00</DateTime> <Creators> <Creator> <Name>Alphonse Berdonosi</Name> <ID>http://www.edugeeks.com/aberdonosi</ID> </Creator> </Creators> </Created> <ModificationHistory> <Modified> <By>http://www.edugeeks.com/aberdonosi</By> <DateTime>2006-08-17T09:30:00-05:00</DateTime> </Modified> </ModificationHistory> </LifeCycle>
Example 6.4.3-1: LifeCycle

6.4.4 RightsElement

A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM].

RightsElement
Figure 6.4.4-1: RightsElement RightsElement Cost FeesForUse FeeForUse UseType MeteringType MeteringURL PerUseCharge CopyrightStatement TermsOfUse
 Element/@AttributeCharDescriptionType
 RightsElement 

A common metadata element designed to carry any intellectual property or copyright information, based on the IEEE LOM Rights element [LOM].

 
 
 CostO xs:boolean
 FeesForUseOA container for fees for use of the content in the object. List
 FeesForUse/FeeForUseORDescription of one fee structure applying to the use of this resource.  
 FeesForUse/FeeForUse/UseType
     
M A description of the fee structure for this resource. Some resources may be licensed differently depending upon their context. For example, a content provider might charge one fee structure for resources used in the classroom and a separate fee for those resources available to parents from home.  xs:string
 FeesForUse/FeeForUse/MeteringType
     
M xs:token
 FeesForUse/FeeForUse/MeteringURL
     
O xs:anyURI
 FeesForUse/FeeForUse/PerUseCharge
     
O MonetaryAmountType
 CopyrightStatementO xs:string
 TermsOfUseO xs:string
Table 6.4.4-1: RightsElement
<RightsElement> <Cost>true</Cost> <FeesForUse> <FeeForUse> <UseType>UseType</UseType> <MeteringType>MeteringType</MeteringType> <MeteringURL>http://www.xmlspy.com</MeteringURL> <PerUseCharge Currency="USD">1.00</PerUseCharge> </FeeForUse> </FeesForUse> <CopyrightStatement>CopyrightStatement</CopyrightStatement> <TermsOfUse>TermsOfUse</TermsOfUse> </RightsElement>
Example 6.4.4-1: RightsElement

6.4.5 EducationFilter

Based on feedback from publishers, instructional management and system integrator vendors, EducationFilter was developed to provide the ability to tag objects with metadata that allows for categorization, sorting, and filtering, to empower teaching and learning SIF usage. There exist two main business cases:

The use cases for EducationFilter require a contract and choreography to be understood between both sides of the transaction as is the case with all SIF_Metadata.

EducationFilter
Figure 6.4.5-1: EducationFilter EducationFilter MediaTypes MediaType GradeLevels SubjectAreas SubjectArea InterestLevels InterestLevel LearningStandardItems LearningStandardItemRefId BloomsTaxonomyLevels BloomsTaxonomyLevel MultipleIntelligences MultipleIntelligence InstructionalStrategies InstructionalStrategy
 Element/@AttributeCharDescriptionType
 EducationFilter   
 MediaTypesOAllows an object or query to be tagged with MIME types. List
 MediaTypes/MediaTypeMR xs:token
 GradeLevelsOApplicable grade levels as defined by SIF. GradeLevels
 SubjectAreasOThis allows subject areas to be associated with an object or query. Although there could be overlap with LearningStandardItems, it is anticipated there will be use cases where LearningStandardItem objects may not exist or may not be available, and data may need to be tagged with high-level subject areas. List
 SubjectAreas/SubjectAreaMR SubjectArea
 InterestLevelsOInterestLevels is designed to represent the grade level for which the content is created. For example a tenth grader is at a third grade level in Algebra. You would want to present the content at a third grade level, but in a tenth grade context or interest level. List
 InterestLevels/InterestLevel
     
MR GradeLevel
 LearningStandardItemsOAllows any SIF object to be correlated to learning standards. List
 LearningStandardItems/LearningStandardItemRefId
     
MR IdRefType
 BloomsTaxonomyLevelsO

This is a taxonomy of educational objectives based on three "domains:" Affective, Psychomotor, and Cognitive. For the purposes of assigning attributes to learning resources, the SIF specification is limited to the cognitive domain, including knowledge, comprehension, application, analysis, synthesis and evaluation.

 
List
 BloomsTaxonomyLevels/BloomsTaxonomyLevel
     
OR values:
Knowledge
Comprehension
Application
Analysis
Synthesis
Evaluation
 MultipleIntelligencesO

An educational theory that describes at least eight different kinds of "intelligences." These include linguistic, logical-mathematical, spatial, bodily-kinesthetic, musical intelligence, interpersonal, intrapersonal and naturalist.

 
List
 MultipleIntelligences/MultipleIntelligence
     
OR values:
Linguistic
Logical-Mathematical
Spatial
Musical
Bodily-Kinesthetic
Interpersonal
Intrapersonal
Naturalist
 InstructionalStrategiesO

The various ways that instruction is delivered to achieve learning objectives and concepts.

 
List
 InstructionalStrategies/InstructionalStrategy
     
OR values:
Lecture
Online
Discussion
Cooperative Group
Scenario
Demonstration/Lab
Self-study
Problem-Based Learning
Project
Other
Table 6.4.5-1: EducationFilter
<EducationFilter> <MediaTypes> <MediaType>x-application/pdf</MediaType> </MediaTypes> <GradeLevels> <GradeLevel> <Code>10</Code> </GradeLevel> </GradeLevels> <SubjectAreas> <SubjectArea> <Code>02</Code> <OtherCodeList> <OtherCode Codeset="Text">Algebra and Geometry</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreas> <InterestLevels> <InterestLevel> <Code>03</Code> </InterestLevel> </InterestLevels> <LearningStandardItems> <LearningStandardItemRefId>502070339FA347B5B123BEF68D118332</LearningStandardItemRefId> </LearningStandardItems> <BloomsTaxonomyLevels> <BloomsTaxonomyLevel>Analysis</BloomsTaxonomyLevel> </BloomsTaxonomyLevels> <MultipleIntelligences> <MultipleIntelligence>Logical-Mathematical</MultipleIntelligence> </MultipleIntelligences> <InstructionalStrategies> <InstructionalStrategy>Self-study</InstructionalStrategy> </InstructionalStrategies> </EducationFilter>
Example 6.4.5-1: EducationFilter

6.4.6 SEAInfo

This object is designed to facilitate the transfer of State Education Agency (SEA) directory information to the Department of Education (USED) through the Education Data Exchange Network (EDEN).

SIF_Events are not reported for this object.

Click here for non-normative background/supplementary documentation on this object.

SEAInfo
Figure 6.4.6-1: SEAInfo SEAInfo RefId LocalId NCESId SEAName SEAURL CSSOContact SEAContactList SEAContact PublishInDirectory ContactInfo PhoneNumberList AddressList OperationalStatus EDENInfo FIPSStateCode AgencyIdNumber SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SEAInfo 

This object is designed to facilitate the transfer of State Education Agency (SEA) directory information to the Department of Education (USED) through the Education Data Exchange Network (EDEN).

 
 
@
key
RefIdM

The GUID of the SEA whose information this is.

 
RefIdType
 LocalIdO

The locally-assigned identifier for this SEA.

 
LocalId
 NCESIdO

The NCES-assigned identifier for this SEA.

 
NCESId
 SEANameM

The full legally accepted name of the SEA.

 
xs:normalizedString
 SEAURLO

URL for the SEA.

 
xs:anyURI
 CSSOContactMChief State School Officer contact information. ContactInfo
 SEAContactListOInformation on contact persons for this SEA. List
 SEAContactList/SEAContact
     
MRContainer element for SEA contact information.  
 SEAContactList/SEAContact/
     PublishInDirectory
OIndicates whether or not this SEA contact's information should be published in a directory of SEA information. PublishInDirectory
 SEAContactList/SEAContact/
     ContactInfo
MContact information for a person at the SEA. ContactInfo
 PhoneNumberListOThe SEA's phone number(s). PhoneNumberList
 AddressListOThe SEA's address(es). AddressList
 OperationalStatusOOperational condition of an SEA. OperationalStatus
 EDENInfoOContainer element for EDEN-specific information.  
 EDENInfo/FIPSStateCodeOThe two-digit Federal Information Processing Standard (FIPS) Code for the State, District of Columbia, and the possessions and freely associated areas of the United States (e.g. Puerto Rico). xs:token
xs:pattern[0-9]{2}|[A-Z]{2}
 EDENInfo/AgencyIdNumberOA number used in EDEN to uniquely uniquely identify state agencies. xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.4.6-1: SEAInfo
<SEAInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <SEAName>Illinois State Board of Education</SEAName> <SEAURL>http://www.isbe.net</SEAURL> <CSSOContact> <Name Type="08"> <LastName>Geisel</LastName> <FirstName>Theodore</FirstName> </Name> <PositionTitle>Superintendent</PositionTitle> <EmailList> <Email Type="Primary">drseuss@isbe.net</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-0102</Number> </PhoneNumber> </PhoneNumberList> </CSSOContact> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>5555551234</Number> </PhoneNumber> </PhoneNumberList> <AddressList> <Address Type="0123"> <Street> <Line1>1 IBM Plaza</Line1> <Line2>Suite 2000</Line2> <StreetNumber>1</StreetNumber> <StreetName>IBM</StreetName> <StreetType>Plaza</StreetType> <ApartmentType>Suite</ApartmentType> <ApartmentNumber>2000</ApartmentNumber> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60611</PostalCode> </Address> </AddressList> <EDENInfo> <FIPSStateCode>99</FIPSStateCode> <AgencyIdNumber>01</AgencyIdNumber> </EDENInfo> </SEAInfo>
Example 6.4.6-1: SEAInfo

6.4.7 StudentLEARelationship

The purpose of the StudentLEARelationship object is to represent the current information available regarding a single student's relationship/affiliation to a single LEA for a specific school year as of the time a SIF_Event or SIF_Response is generated by the system of record. This object is not designed to operate on a historical/longitudinal basis in the default context.

StudentLEARelationship instances must not span multiple school years.

Only one instance of the StudentLEARelationship object with MembershipType=Home may exist for a specific time interval between EntryDate and ExitDate (inclusive) for a given student, LEA, and school year.

Multiple instances of the StudentLEARelationship object with MembershipType=Concurrent may exist for a specific time interval between EntryDate and ExitDate (inclusive) for a given student, LEA, and school year.

Multiple instances of StudentLEARelationship will occur for specific or overlapping time intervals if a student has affiliations with multiple LEA's. This will most likely be detected during aggregate data collection from multiple LEA's. Since StudentLEARelationship/@RefId and StudentLEARelationship/@StudentPersonalRefId are zone-specific, external mechanisms (e.g. student locator) would be required to correlate multiple instances of a single student affiliating with multiple LEA's.

SIF_Events are reported for this object.

StudentLEARelationship
Figure 6.4.7-1: StudentLEARelationship StudentLEARelationship RefId StudentPersonalRefId LEAInfoRefId SchoolYear MembershipType LEARelationshipType EntryDate EntryType Code OtherCodeList ExitDate ExitType Code OtherCodeList ExitStatus Code OtherCodeList NonResidentAttendReason GradeLevel SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentLEARelationship 

The purpose of the StudentLEARelationship object is to represent the current information available regarding a single student's relationship/affiliation to a single LEA for a specific school year as of the time a SIF_Event or SIF_Response is generated by the system of record. This object is not designed to operate on a historical/longitudinal basis in the default context.

StudentLEARelationship instances must not span multiple school years.

Only one instance of the StudentLEARelationship object with MembershipType=Home may exist for a specific time interval between EntryDate and ExitDate (inclusive) for a given student, LEA, and school year.

Multiple instances of the StudentLEARelationship object with MembershipType=Concurrent may exist for a specific time interval between EntryDate and ExitDate (inclusive) for a given student, LEA, and school year.

Multiple instances of StudentLEARelationship will occur for specific or overlapping time intervals if a student has affiliations with multiple LEA's. This will most likely be detected during aggregate data collection from multiple LEA's. Since StudentLEARelationship/@RefId and StudentLEARelationship/@StudentPersonalRefId are zone-specific, external mechanisms (e.g. student locator) would be required to correlate multiple instances of a single student affiliating with multiple LEA's.

 
 
@
key
RefIdM

The unique identifier for a particular affiliation between a student and a LEA.

 
RefIdType
@StudentPersonalRefIdM

The SIF RefId of the StudentPersonal object to which this instance of StudentLEARelationship refers.

 
IdRefType
@LEAInfoRefIdM

The SIF RefId of the LEAInfo object to which this instance of StudentLEARelationship refers.

 
IdRefType
@SchoolYearM

Contains the SIF school year to which this instance of StudentLEARelationship applies. StudentLEARelationship must not span multiple school years.

 
SchoolYear
 MembershipTypeM

The type of this affiliation as it relates to the LEA identified in LEAInfoRefId.

 
values:
Home
The LEA is responsible for reporting the student's membership/child accounting information.
Concurrent
The LEA is not the primary reporting unit for the student's membership/child accounting information.
Summer
A summer school enrollment, not part of the regular school year.
 LEARelationshipTypeM

An instance of the OrganizationRelationshipType common element that describes the details of the student's affiliation with the LEA.

 
OrganizationRelationshipType
 EntryDateM

The date from when this affiliation is valid.

 
xs:date
 EntryTypeO  
 EntryType/CodeM

Code indicating the type of entry for this affiliation.

 
NCES0619EntryTypeType
 EntryType/OtherCodeListO OtherCodeList
 ExitDateC

The last school calendar day (membership day) the student was affiliated with the LEA (inclusive).

The conditional characteristic of this element is defined such that if the student has exited the LEA, then ExitDate must have a value.

 
xs:date
 ExitTypeO  
 ExitType/CodeM

Code indicating the type of exit for this affiliation.

 
NCES0644ExitWithdrawalTypeType
 ExitType/OtherCodeListO OtherCodeList
 ExitStatusO  
 ExitStatus/CodeM

Code indicating the exit status for this affiliation.

 
NCES0643ExitWithdrawalStatusType
 ExitStatus/OtherCodeListO OtherCodeList
 NonResidentAttendReasonC

Indicates the reason that the student has an affiliation with this LEA if the student is a not a resident of the LEA.

The conditional characteristic of this element is defined such that if the LEA participating in this affiliation is outside of the student's usual attendance area, as indicated in the LEARelationshipType/ResidencyStatus element, then this element must be reported.

 
NCES0599NonResidentAttendanceRationaleType
 GradeLevelO

The grade or academic level of the student.

 
GradeLevel
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.4.7-1: StudentLEARelationship
<StudentLEARelationship RefId="98C3D3224B35AA75101D00AA201B1652" StudentPersonalRefId="D3E34B359D75101A8C3D00AA001A1652" LEAInfoRefId="D3E34B359D7511AA223D00AA001A165A" SchoolYear="2007"> <MembershipType>Home</MembershipType> <LEARelationshipType> <ResidencyStatus> <Code>1652</Code> </ResidencyStatus> <ProvidingInstruction>true</ProvidingInstruction> <ProvidingServices>true</ProvidingServices> <FinanciallyResponsible>true</FinanciallyResponsible> </LEARelationshipType> <EntryDate>2007-08-15</EntryDate> <EntryType> <Code>1838</Code> </EntryType> <GradeLevel> <Code>10</Code> </GradeLevel> </StudentLEARelationship>
Example 6.4.7-1: StudentLEARelationship

6.5 Data Warehouse Working Group

The mission of the Data Warehouse Working Group is to lead the definition of the detailed data that schools and parents need to improve student achievement and organizational effectiveness. It will represent to the other SIF Association working groups the interests of the school administrators, guidance counselors, teachers, parents and students who can benefit from the analysis of integrated SIF K-12 data.

6.5.1 AggregateStatisticInfo

This object defines the data that is being aggregated as well as the type of measurement that is being performed.

SIF_Events are reported for this object.

AggregateStatisticInfo
Figure 6.5.1-1: AggregateStatisticInfo AggregateStatisticInfo RefId StatisticName CalculationRule Type ApprovalDate ExpirationDate ExclusionRules ExclusionRule Type Source EffectiveDate DiscontinueDate Location Type LocationName LocationRefId SIF_RefObject Measure SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AggregateStatisticInfo 

This object defines the data that is being aggregated as well as the type of measurement that is being performed.

 
 
@
key
RefIdM

Key

 
RefIdType
 StatisticNameM

Name of Aggregate Statistic

Examples
Total Enrollment
Diploma Recipients

xs:token
 CalculationRuleO

Rule for calculating the aggregate statistic

 
xs:string
@TypeM values:
Description
Formula
URL
 ApprovalDateO

Date for which the statistic is initially valid

 
xs:date
 ExpirationDateO

Date after which the statistic is no longer valid

 
xs:date
 ExclusionRulesO

Rules for which statistic may not be reported.

 
List
 ExclusionRules/ExclusionRule
     
OR

Rule for which statistic may not be reported

 
xs:string
@TypeM values:
SampleSize
Description
 SourceO

System providing the data: i.e., SIS, Transportation,

 
xs:token
 EffectiveDateO

Effective date of the statistic

 
xs:date
 DiscontinueDateO

Discontinue date of the statistic

 
xs:date
 LocationO  
@TypeM values:
Classroom
School
District
Campus
IntermediateUnit
StateEducationAgency
 Location/LocationNameO

Name of the location

 
xs:token
 Location/LocationRefIdO

RefId of the location object if the location is a SIF object such as SchoolInfo.

 
IdRefType
@SIF_RefObject

Type of SIF object Location points to.

 
values:
SchoolInfo
LEAInfo
RoomInfo
 MeasureO

Type of the statistic.

 
values:
Count
Minimum
Maximum
Percent
Mean
Median
Mode
Sum
StandardDeviation
UnduplicatedCount
FTE
Other
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.5.1-1: AggregateStatisticInfo
<AggregateStatisticInfo RefId="A5DECBD3161B4F5D9F46EBA64C87B002"> <StatisticName>Read Proficiency L1</StatisticName> <CalculationRule Type="Description">Number of students scoring at Reading Proficiency Level 1</CalculationRule> <ApprovalDate>2002-09-01</ApprovalDate> <ExpirationDate>2006-06-30</ExpirationDate> <ExclusionRules> <ExclusionRule Type="SampleSize">N less than 10</ExclusionRule> </ExclusionRules> <Source>SIS</Source> <Location Type="School"> <LocationName>Green River High School</LocationName> <LocationRefId SIF_RefObject="SchoolInfo">279BCEE5515E4C1AAC3A765D1F069BC3</LocationRefId> </Location> <Measure>Count</Measure> </AggregateStatisticInfo>
Example 6.5.1-1: AggregateStatisticInfo

6.5.2 AggregateCharacteristicInfo

This object defines the attribute of a group of objects that implicitly or explicitly defines a subset of the group.

SIF_Events are reported for this object.

AggregateCharacteristicInfo
Figure 6.5.2-1: AggregateCharacteristicInfo AggregateCharacteristicInfo RefId Description Definition ElementName SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AggregateCharacteristicInfo 

This object defines the attribute of a group of objects that implicitly or explicitly defines a subset of the group.

 
 
@
key
RefIdM

Key for aggregate characteristic information.

 
RefIdType
 DescriptionO

Describes the supercategory of the characteristic described in the Definition element below.

Examples
Gender
Ethnicity
Grade
Economic Status
LEP Status
IEP Status
Migrant Status

xs:string
 DefinitionM

Defines the aggregate characteristic information.

Examples
White
Male
Dropout

xs:token
 ElementNameO

Reference to SIF elements or external authority (e.g., StudentPersonal/Gender).

Examples
Dropout Status

xs:token
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.5.2-1: AggregateCharacteristicInfo
<AggregateCharacteristicInfo RefId="06AF1D69FB064AB388983505714F18FB"> <Description>Ethnicity</Description> <Definition>Hispanic</Definition> <ElementName>StudentPersonal/Demographics/Ethnicity</ElementName> </AggregateCharacteristicInfo>
Example 6.5.2-1: AggregateCharacteristicInfo

6.5.3 AggregateStatisticFact

This object is the actual value of the measurement. It is always associated with one statistic and one or more characteristics.

SIF_Events are reported for this object.

AggregateStatisticFact
Figure 6.5.3-1: AggregateStatisticFact AggregateStatisticFact RefId AggregateStatisticInfoRefId Characteristics AggregateCharacteristicInfoRefId Excluded Value SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AggregateStatisticFact 

This object is the actual value of the measurement. It is always associated with one statistic and one or more characteristics.

 
 
@
key
RefIdM RefIdType
 AggregateStatisticInfoRefIdM Reference to statistic defined by AggregateStatisticInfo.  IdRefType
 CharacteristicsM

Reference to one or more AggregateCharacteristicInfo objects.

 
List
 Characteristics/AggregateCharacteristicInfoRefId
     
MR

Reference to an AggregateCharacteristicInfo object.

 
IdRefType
 ExcludedO values:
Yes
No
 ValueM

Value of the fact.

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.5.3-1: AggregateStatisticFact
<AggregateStatisticFact RefId="3A4E2822C696433B812B49DEAE557E41"> <AggregateStatisticInfoRefId>91A4209F7F4F4F4B9DC8D21CEFD1DC2F</AggregateStatisticInfoRefId> <Characteristics> <AggregateCharacteristicInfoRefId>0B972D8644EE4D7994F5FF1C3131772D</AggregateCharacteristicInfoRefId> </Characteristics> <Excluded>No</Excluded> <Value>27</Value> </AggregateStatisticFact>
Example 6.5.3-1: AggregateStatisticFact

6.6 Food Services Working Group

The Food Services Working Group specifies, implements, and promotes a standard set of messages and automated communication mechanisms that allow computer applications for the food service sector of the education industry to effectively exchange information with all SIF applications.

6.6.1 FoodserviceItem

This object communicates information about food service items.

SIF_Events are reported for this object.

FoodserviceItem
Figure 6.6.1-1: FoodserviceItem FoodserviceItem RefId LocalId Description ElectronicIdList ItemCategory SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceItem   
@
key
RefIdM

GUID that identifies this item

 
RefIdType
 LocalIdM

Item number as presented to user.

 
LocalId
 DescriptionO

Description of Item

 
xs:normalizedString
 ElectronicIdListO

Electronic identifier(s) associated with this item.

 
ElectronicIdList
 ItemCategoryO

The category is derived from the Child Nutrition Database's food category codes/names (Source: Food Category Name File [CNDB]). Agents may use the actual codes or a district's local definition of the names associated with the codes. The Child Nutrition Database [CNDB] is updated on a yearly basis by the USDA.

Examples
Milk
Meat
Vegetables
Other

xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.1-1: FoodserviceItem
<FoodserviceItem RefId="EF521958AB474559B2AE7BD82647C66B"> <LocalId>2391</LocalId> <Description>Green Burrito</Description> <ElectronicIdList> <ElectronicId Type="Barcode">123456</ElectronicId> </ElectronicIdList> <ItemCategory>Vegetables</ItemCategory> </FoodserviceItem>
Example 6.6.1-1: FoodserviceItem

6.6.2 FoodserviceItemPortion

This object describes a certain amount for a specific item unit.

Note that this version of the object does not contain any elements that define item pricing. This task is left for future development.

SIF_Events are reported for this object.

FoodserviceItemPortion
Figure 6.6.2-1: FoodserviceItemPortion FoodserviceItemPortion RefId FoodserviceItemUnitRefId ItemPortionQuantity ItemPortionType Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceItemPortion 

This object describes a certain amount for a specific item unit.

Note that this version of the object does not contain any elements that define item pricing. This task is left for future development.

 
 
@
key
RefIdM

GUID that identifies this item's portion

 
RefIdType
 FoodserviceItemUnitRefIdM

GUID that identifies related item portion

 
IdRefType
 ItemPortionQuantityM

Quantity of item portion (number of units)

 
xs:decimal
 ItemPortionTypeM

Type of item unit

 
values:
Component
Entree
AlaCarte
Bonus
Combo
NonFood
 DescriptionO

Optional description of amount

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.2-1: FoodserviceItemPortion
<FoodserviceItemPortion RefId="EF521958AB474559B2AE7BD82647C66B"> <FoodserviceItemUnitRefId>D9837A776DD626777872361DD118873C</FoodserviceItemUnitRefId> <ItemPortionQuantity>1</ItemPortionQuantity> <ItemPortionType>Entree</ItemPortionType> <Description>One Cup Serving of Mashed Potatoes</Description> </FoodserviceItemPortion>
Example 6.6.2-1: FoodserviceItemPortion

6.6.3 FoodserviceItemSales

This object gives the sales details for the items sold for a specified date.

SIF_Events are reported for this object.

FoodserviceItemSales
Figure 6.6.3-1: FoodserviceItemSales FoodserviceItemSales RefId SchoolInfoRefId Date Program ItemQuantities ItemQuantity FoodserviceItemPortionRefId Value MealType GradeLevels Cost SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceItemSales 

This object gives the sales details for the items sold for a specified date.

 
 
@
key
RefIdM

GUID that identifies this object

 
RefIdType
 SchoolInfoRefIdM

GUID that identifies the school for this object

 
IdRefType
 DateM

Date of sales

 
xs:date
 ProgramM Program
 ItemQuantitiesM List
 ItemQuantities/ItemQuantity
     
MR

Quantity of item amounts sold

 
 
@FoodserviceItemPortionRefIdM

GUID of FoodserviceItemPortion object

 
IdRefType
 ItemQuantities/ItemQuantity/
     Value
M

The value of item quantity

 
xs:decimal
 ItemQuantities/ItemQuantity/
     MealType
M MealType
 ItemQuantities/ItemQuantity/
     GradeLevels
M GradeLevels
 ItemQuantities/ItemQuantity/
     Cost
O

The cost (monetary value) of the item sold.

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.3-1: FoodserviceItemSales
<FoodserviceItemSales RefId="F7E8FF23F3A1471BA9D0B0E22A0839C6"> <SchoolInfoRefId>B72A99FFC3624AD2ADD197CC5A4A2563</SchoolInfoRefId> <Date>2001-09-13</Date> <Program Type="Foodservice">NSLP</Program> <ItemQuantities> <ItemQuantity FoodserviceItemPortionRefId="D38E8D805B664B7CB389CFE2C11B145F"> <Value>35</Value> <MealType>FirstMeal</MealType> <GradeLevels> <GradeLevel> <Code>01</Code> </GradeLevel> <GradeLevel> <Code>02</Code> </GradeLevel> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> </ItemQuantity> <ItemQuantity FoodserviceItemPortionRefId="A08CC23B059C400CAA9F9BBD3DFF94F1"> <Value>152</Value> <MealType>AlaCarte</MealType> <GradeLevels> <GradeLevel> <Code>01</Code> </GradeLevel> <GradeLevel> <Code>02</Code> </GradeLevel> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> </ItemQuantity> </ItemQuantities> </FoodserviceItemSales>
Example 6.6.3-1: FoodserviceItemSales

6.6.4 FoodserviceItemUnit

This object describes the unit for an item.

SIF_Events are reported for this object.

FoodserviceItemUnit
Figure 6.6.4-1: FoodserviceItemUnit FoodserviceItemUnit RefId FoodserviceItemRefId Description MeasureDescriptionCode GramWeight SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceItemUnit 

This object describes the unit for an item.

 
 
@
key
RefIdM

GUID that identifies this unit

 
RefIdType
 FoodserviceItemRefIdM

GUID that identifies related item

 
IdRefType
 DescriptionM

Description of unit ("cup", "teaspoon", etc.)

 
xs:string
 MeasureDescriptionCodeM

Child Nutrition Database [CNDB] standard code describing unit.  The database is updated on a yearly basis by the USDA.

 
xs:normalizedString
 GramWeightM

Gram weight of this item in terms of MeasureDescriptionCode

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.4-1: FoodserviceItemUnit
<FoodserviceItemUnit RefId="D9837A776DD626777872361DD118873C"> <FoodserviceItemRefId>EF521958AB474559B2AE7BD82647C66B</FoodserviceItemRefId> <Description>cup</Description> <MeasureDescriptionCode>CUP01</MeasureDescriptionCode> <GramWeight>98</GramWeight> </FoodserviceItemUnit>
Example 6.6.4-1: FoodserviceItemUnit

6.6.5 FoodserviceMealPrices

This object is a site's meal prices for each grade program, meal status, meal type and grade level.

SIF_Events are reported for this object.

FoodserviceMealPrices
Figure 6.6.5-1: FoodserviceMealPrices FoodserviceMealPrices RefId SchoolInfoRefId Program Prices Price Value MealStatus MealType GradeLevels SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceMealPrices 

This object is a site's meal prices for each grade program, meal status, meal type and grade level.

 
 
@
key
RefIdM

GUID that identifies this meal price.

 
RefIdType
 SchoolInfoRefIdM

GUID that identifies the school this meal price belongs to

 
IdRefType
 ProgramM Program
 PricesM List
 Prices/PriceMR

Price of the meal

 
 
 Prices/Price/ValueM

The price value

 
MonetaryAmountType
 Prices/Price/MealStatusM MealStatus
 Prices/Price/MealTypeM MealType
 Prices/Price/GradeLevelsM GradeLevels
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.5-1: FoodserviceMealPrices
<FoodserviceMealPrices RefId="EF521958AB474559B2AE7BD82647C66B"> <SchoolInfoRefId>FF521958AB474559B2AE7BD82647C66B</SchoolInfoRefId> <Program Type="Foodservice">NSLP</Program> <Prices> <Price> <Value Currency="USD">999.99</Value> <MealStatus Type="Free" /> <MealType>FirstMeal</MealType> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </Price> <Price> <Value>999.99</Value> <MealStatus Type="Free" /> <MealType>SecondMeal</MealType> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </Price> <Price> <Value>999.99</Value> <MealStatus Type="Reduced" /> <MealType>FirstMeal</MealType> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </Price> <Price> <Value>999.99</Value> <MealStatus Type="None" /> <MealType>FirstMeal</MealType> <GradeLevels> <GradeLevel> <Code>01</Code> </GradeLevel> <GradeLevel> <Code>02</Code> </GradeLevel> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> </Price> </Prices> </FoodserviceMealPrices>
Example 6.6.5-1: FoodserviceMealPrices

6.6.6 FoodserviceMenuPlan

This object communicates the foodservice menu plan for a school site for a given meal program, grade level range and date.

SIF_Events are reported for this object.

FoodserviceMenuPlan
Figure 6.6.6-1: FoodserviceMenuPlan FoodserviceMenuPlan RefId SchoolInfoRefId GradeLevels MenuPlanDate Program Description ProjectedParticipation MenuPlanQuantities MenuPlanQuantity FoodserviceItemPortionRefId MenuCategory SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceMenuPlan 

This object communicates the foodservice menu plan for a school site for a given meal program, grade level range and date.

 
 
@
key
RefIdM

GUID that identifies this menu plan

 
RefIdType
 SchoolInfoRefIdM

GUID that identifies the school for this menu plan

 
IdRefType
 GradeLevelsM GradeLevels
 MenuPlanDateM

Date of menu plan

 
xs:date
 ProgramM Program
 DescriptionO

Description of menu plan

 
xs:string
 ProjectedParticipationM

Feeding figure projected

 
xs:string
 MenuPlanQuantitiesM List
 MenuPlanQuantities/MenuPlanQuantity
     
OR

Quantity of item in this menu plan

 
xs:decimal
@FoodserviceItemPortionRefIdM

Item portion amount

 
IdRefType
@MenuCategoryM values:
ActualMeal
ProjectedMeal
ActualAlaCarte
ProjectedAlaCarte
Produced
LeftOver
Wasted
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.6-1: FoodserviceMenuPlan
<FoodserviceMenuPlan RefId="EF521958AB474559B2AE7BD82647C66B"> <SchoolInfoRefId>FF521958AB474559B2AE7BD82647C66B</SchoolInfoRefId> <GradeLevels> <GradeLevel> <Code>01</Code> </GradeLevel> <GradeLevel> <Code>02</Code> </GradeLevel> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> <MenuPlanDate>2001-10-31</MenuPlanDate> <Program Type="Foodservice">NSLP</Program> <Description>Halloween Menu</Description> <ProjectedParticipation>1000</ProjectedParticipation> <MenuPlanQuantities> <MenuPlanQuantity FoodserviceItemPortionRefId="D9837A776DD626777872361DD118873C" MenuCategory="ActualMeal">13</MenuPlanQuantity> <MenuPlanQuantity FoodserviceItemPortionRefId="A08CC23B059C400CAA9F9BBD3DFF94F1" MenuCategory="ActualAlaCarte">16</MenuPlanQuantity> </MenuPlanQuantities> </FoodserviceMenuPlan>
Example 6.6.6-1: FoodserviceMenuPlan

6.6.7 FoodserviceMilkSales

This object communicates the daily milk sales at a school.

SIF_Events are not reported for this object.

FoodserviceMilkSales
Figure 6.6.7-1: FoodserviceMilkSales FoodserviceMilkSales RefId SchoolInfoRefId Date Program SaleQuantities SaleQuantity Value MealStatus SaleUnit ChargeToChild SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceMilkSales 

This object communicates the daily milk sales at a school.

 
 
@
key
RefIdM

GUID that identifies the daily milk sales object

 
RefIdType
 SchoolInfoRefIdM

School for which the sales object applies

 
IdRefType
 DateM

Date on which the sales occurred.

 
xs:date
 ProgramM Program
 SaleQuantitiesM List
 SaleQuantities/SaleQuantity
     
OR

Quantity of sale

 
 
 SaleQuantities/SaleQuantity/
     Value
M

The quantity sold.

 
xs:decimal
 SaleQuantities/SaleQuantity/
     MealStatus
M MealStatus
 SaleQuantities/SaleQuantity/
     SaleUnit
M

Unit of Sale

 
xs:normalizedString
 SaleQuantities/SaleQuantity/
     ChargeToChild
M

Charge to child per unit

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.7-1: FoodserviceMilkSales
<FoodserviceMilkSales RefId="D21CF29B7FB44965A9CF950E1E60B21E"> <SchoolInfoRefId>AA66800BE0D84E80AA5838FA97EE3A3E</SchoolInfoRefId> <Date>2001-10-31</Date> <Program Type="Foodservice">NSLP</Program> <SaleQuantities> <SaleQuantity> <Value>99999</Value> <MealStatus Type="Free" /> <SaleUnit>6 oz</SaleUnit> <ChargeToChild Currency="USD">999.99</ChargeToChild> </SaleQuantity> <SaleQuantity> <Value>99999</Value> <MealStatus Type="Reduced" /> <SaleUnit>6 oz</SaleUnit> <ChargeToChild Currency="USD">999.99</ChargeToChild> </SaleQuantity> </SaleQuantities> </FoodserviceMilkSales>
Example 6.6.7-1: FoodserviceMilkSales

6.6.8 FoodservicePurchaseTransaction

If a food service transaction is of type Purchase then this object can give the details of the purchase. This object does not exist for other transaction types.

SIF_Events are reported for this object.

FoodservicePurchaseTransaction
Figure 6.6.8-1: FoodservicePurchaseTransaction FoodservicePurchaseTransaction RefId FoodserviceTransactionRefId PurchaseQuantities PurchaseQuantity FoodserviceItemPortionRefId Earned MealType Value SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodservicePurchaseTransaction 

If a food service transaction is of type Purchase then this object can give the details of the purchase. This object does not exist for other transaction types.

 
 
@
key
RefIdM

GUID that identifies purchase transaction

 
RefIdType
 FoodserviceTransactionRefIdM

GUID that identifies food service transaction in which this purchase was made

 
IdRefType
 PurchaseQuantitiesM List
 PurchaseQuantities/PurchaseQuantity
     
MR

Quantity of the item being purchased

 
 
@FoodserviceItemPortionRefIdM

Foodservice Item Portion

 
IdRefType
@EarnedM

Identifies whether the item being purchased is earned i.e., at no cost to the buyer. It is used when FoodserviceTransaction object's TransactionType element has the value "Purchase".

 
values:
Yes
No
 PurchaseQuantities/PurchaseQuantity/
     MealType
M MealType
 PurchaseQuantities/PurchaseQuantity/
     Value
M

The value of quantity

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.8-1: FoodservicePurchaseTransaction
<FoodservicePurchaseTransaction RefId="AC99DDF0ED0E426ABE18C9174EC469B7"> <FoodserviceTransactionRefId>EFA054E90CDE45C9BB8A87E9F8F9B238</FoodserviceTransactionRefId> <PurchaseQuantities> <PurchaseQuantity FoodserviceItemPortionRefId="A2366AFF739B4BC590DA53AD3CE2311A" Earned="Yes"> <MealType>FirstMeal</MealType> <Value>1</Value> </PurchaseQuantity> <PurchaseQuantity FoodserviceItemPortionRefId="E612E09D8B614BB4B9F892CFC3272063" Earned="No"> <MealType>AlaCarte</MealType> <Value>2</Value> </PurchaseQuantity> </PurchaseQuantities> </FoodservicePurchaseTransaction>
Example 6.6.8-1: FoodservicePurchaseTransaction

6.6.9 FoodserviceReimbursementRates

This object describes the federal, state, local and other reimbursement rates for a school.

SIF_Events are reported for this object.

FoodserviceReimbursementRates
Figure 6.6.9-1: FoodserviceReimbursementRates FoodserviceReimbursementRates RefId SchoolInfoRefId StartDate EndDate Program Agencies Agency Type Name Rates Rate SevereNeed Value MealStatus SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceReimbursementRates 

This object describes the federal, state, local and other reimbursement rates for a school.

 
 
@
key
RefIdM

GUID that identifies this object.

 
RefIdType
 SchoolInfoRefIdM

GUID that identifies the school.

 
IdRefType
 StartDateM

Effective start date for the reimbursement rates

 
xs:date
 EndDateM

Effective end date for the reimbursement rates

 
xs:date
 ProgramM Program
 AgenciesM

List of reimbursing agencies.

 
List
 Agencies/AgencyMR

Reimbursing agency

 
 
@TypeM

Type of the reimbursing agency.

 
values:
Federal
State
Local
Other
 Agencies/Agency/NameC

The name of the reimbursing agency. This element is to be used when the Type is set as Other.

 
xs:normalizedString
 Agencies/Agency/RatesM List
 Agencies/Agency/Rates/Rate
     
MR

Reimbursement rate of the meal

 
 
@SevereNeedM

Severe need identifier for the rate. When SevereNeed is Yes then the rate shown is the combined rate. For certain programs the severe need identifier does not apply. In such cases the value NA should be used.

 
values:
Yes
No
NA
 Agencies/Agency/Rates/Rate/
     Value
M

The rate value

 
xs:decimal
 Agencies/Agency/Rates/Rate/
     MealStatus
M MealStatus
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.9-1: FoodserviceReimbursementRates
<FoodserviceReimbursementRates RefId="D9837A776DD626777872361DD118873C"> <SchoolInfoRefId>EF521958AB474559B2AE7BD82647C66B</SchoolInfoRefId> <StartDate>2004-01-01</StartDate> <EndDate>2004-12-31</EndDate> <Program Type="Foodservice">NSLP</Program> <Agencies> <Agency Type="Federal"> <Rates> <Rate SevereNeed="No"> <Value>1.00</Value> <MealStatus Type="Free" /> </Rate> <Rate SevereNeed="No"> <Value>2.00</Value> <MealStatus Type="Reduced" /> </Rate> <Rate SevereNeed="No"> <Value>3.00</Value> <MealStatus Type="None" /> </Rate> <Rate SevereNeed="Yes"> <Value>4.00</Value> <MealStatus Type="Free" /> </Rate> <Rate SevereNeed="Yes"> <Value>5.00</Value> <MealStatus Type="Reduced" /> </Rate> <Rate SevereNeed="Yes"> <Value>6.00</Value> <MealStatus Type="None" /> </Rate> </Rates> </Agency> <Agency Type="Other"> <Name>Some Reimbursing Agency</Name> <Rates> <Rate SevereNeed="No"> <Value>1.00</Value> <MealStatus Type="Free" /> </Rate> <Rate SevereNeed="No"> <Value>2.00</Value> <MealStatus Type="Reduced" /> </Rate> <Rate SevereNeed="No"> <Value>3.00</Value> <MealStatus Type="None" /> </Rate> <Rate SevereNeed="Yes"> <Value>4.00</Value> <MealStatus Type="Free" /> </Rate> <Rate SevereNeed="Yes"> <Value>5.00</Value> <MealStatus Type="Reduced" /> </Rate> <Rate SevereNeed="Yes"> <Value>6.00</Value> <MealStatus Type="None" /> </Rate> </Rates> </Agency> </Agencies> </FoodserviceReimbursementRates>
Example 6.6.9-1: FoodserviceReimbursementRates

6.6.10 FoodserviceSales

This object communicates the daily sales information.

SIF_Events are reported for this object.

FoodserviceSales
Figure 6.6.10-1: FoodserviceSales FoodserviceSales RefId SchoolInfoRefId Date Program SalesAmounts SalesAmount Type AccountType SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceSales 

This object communicates the daily sales information.

 
 
@
key
RefIdM

GUID that identifies the daily meal sales object

 
RefIdType
 SchoolInfoRefIdM

School for which the sales object applies

 
IdRefType
 DateM

Date on which the sales occurred.

 
xs:date
 ProgramM Program
 SalesAmountsM List
 SalesAmounts/SalesAmountMR

Monetary value

(count * cost per unit) done for all grade levels

 
MonetaryAmountType
@TypeM

Type of SalesAmount. This denotes the form of incoming funds for the sales done.

 
values:
Cash
Account
Charged
Earned
@AccountTypeM

Type of account to which sales amounts apply. This is set to NA when Type is set as Earned.

 
values:
PrepaidCash
BreakfastCredit
LunchCredit
NA
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.10-1: FoodserviceSales
<FoodserviceSales RefId="E57A732918E1473F80C2CFA7774DAA6A"> <SchoolInfoRefId>D21CF29B7FB44965A9CF950E1E60B21E</SchoolInfoRefId> <Date>2001-10-31</Date> <Program Type="Foodservice">NSLP</Program> <SalesAmounts> <SalesAmount Type="Cash" AccountType="NA" Currency="USD">9999.99</SalesAmount> <SalesAmount Type="Account" AccountType="PrepaidCash">9999.99</SalesAmount> <SalesAmount Type="Charged" AccountType="PrepaidCash">9999.99</SalesAmount> <SalesAmount Type="Charged" AccountType="BreakfastCredit">9999.99</SalesAmount> <SalesAmount Type="Charged" AccountType="LunchCredit">9999.99</SalesAmount> <SalesAmount Type="Earned" AccountType="NA">9999.99</SalesAmount> </SalesAmounts> </FoodserviceSales>
Example 6.6.10-1: FoodserviceSales

6.6.11 FoodserviceStaffEnrollmentCount

This object communicates the staff enrollment for a specified date.

SIF_Events are not reported for this object.

FoodserviceStaffEnrollmentCount
Figure 6.6.11-1: FoodserviceStaffEnrollmentCount FoodserviceStaffEnrollmentCount SchoolInfoRefId Date Program Counts Count SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceStaffEnrollmentCount 

This object communicates the staff enrollment for a specified date.

 
 
@
key
SchoolInfoRefIdM

Reference to SchoolInfo

 
IdRefType
@DateM

Date the count is taken.

 
xs:date
 ProgramM Program
 CountsM List
 Counts/CountMR FSCountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.11-1: FoodserviceStaffEnrollmentCount
<FoodserviceStaffEnrollmentCount SchoolInfoRefId="E822BCDC9E7A40F787ED8183D3B485B5" Date="2001-10-31"> <Program Type="Foodservice">NSLP</Program> <Counts> <Count> <EarnedStatus Type="Yes" /> <Value>99999</Value> </Count> <Count> <EarnedStatus Type="No" /> <Value>99999</Value> </Count> </Counts> </FoodserviceStaffEnrollmentCount>
Example 6.6.11-1: FoodserviceStaffEnrollmentCount

6.6.12 FoodserviceStaffMealCounts

This object communicates the daily staff sales.

SIF_Events are not reported for this object.

FoodserviceStaffMealCounts
Figure 6.6.12-1: FoodserviceStaffMealCounts FoodserviceStaffMealCounts RefId SchoolInfoRefId Date Program Counts Count SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceStaffMealCounts 

This object communicates the daily staff sales.

 
 
@
key
RefIdM

GUID that identifies the daily meal sales object

 
RefIdType
 SchoolInfoRefIdM

School for which the sales object applies

 
IdRefType
 DateM

Date on which the sales occurred.

 
xs:date
 ProgramM Program
 CountsM List
 Counts/CountMR FSCountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.12-1: FoodserviceStaffMealCounts
<FoodserviceStaffMealCounts RefId="E822BCDC9E7A40F787ED8183D3B485B5"> <SchoolInfoRefId>F2F9D9B212B94489BC3F9FD6AB75F54A</SchoolInfoRefId> <Date>2003-08-25</Date> <Program Type="Foodservice">NSLP</Program> <Counts> <Count> <EarnedStatus Type="Yes" /> <MealType>FirstMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <EarnedStatus Type="No" /> <MealType>FirstMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <EarnedStatus Type="Yes" /> <MealType>SecondMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <EarnedStatus Type="No" /> <MealType>SecondMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> </Counts> </FoodserviceStaffMealCounts>
Example 6.6.12-1: FoodserviceStaffMealCounts

6.6.13 FoodserviceStudentEnrollmentCount

This object communicates the student enrollment for a specified date.

SIF_Events are not reported for this object.

FoodserviceStudentEnrollmentCount
Figure 6.6.13-1: FoodserviceStudentEnrollmentCount FoodserviceStudentEnrollmentCount SchoolInfoRefId Date Program Counts Count SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceStudentEnrollmentCount 

This object communicates the student enrollment for a specified date.

 
 
@
key
SchoolInfoRefIdM

Reference to SchoolInfo

 
IdRefType
@DateM

Date the count is taken.

 
xs:date
 ProgramM Program
 CountsM List
 Counts/CountMR FSCountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.13-1: FoodserviceStudentEnrollmentCount
<FoodserviceStudentEnrollmentCount SchoolInfoRefId="E822BCDC9E7A40F787ED8183D3B485B5" Date="2003-08-25"> <Program Type="Foodservice">NSLP</Program> <Counts> <Count> <MealStatus Type="Free" /> <Value>99999</Value> </Count> <Count> <MealStatus Type="Reduced" /> <Value>99999</Value> </Count> <Count> <MealStatus Type="None" /> <Value>99999</Value> </Count> </Counts> </FoodserviceStudentEnrollmentCount>
Example 6.6.13-1: FoodserviceStudentEnrollmentCount

6.6.14 FoodserviceStudentMealCounts

This object communicates the daily student sales.

SIF_Events are not reported for this object.

FoodserviceStudentMealCounts
Figure 6.6.14-1: FoodserviceStudentMealCounts FoodserviceStudentMealCounts RefId SchoolInfoRefId Date Program Counts Count SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceStudentMealCounts 

This object communicates the daily student sales.

 
 
@
key
RefIdM

GUID that identifies the daily meal sales object

 
RefIdType
 SchoolInfoRefIdM

School for which the sales object applies

 
IdRefType
 DateM

Date on which the sales occurred.

 
xs:date
 ProgramM Program
 CountsM List
 Counts/CountMR FSCountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.14-1: FoodserviceStudentMealCounts
<FoodserviceStudentMealCounts RefId="E822BCDC9E7A40F787ED8183D3B485B5"> <SchoolInfoRefId>F2F9D9B212B94489BC3F9FD6AB75F54A</SchoolInfoRefId> <Date>2003-08-25</Date> <Program Type="Foodservice">NSLP</Program> <Counts> <Count> <MealStatus Type="Free" /> <MealType>FirstMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <MealStatus Type="Reduced" /> <MealType>FirstMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <MealStatus Type="Free" /> <MealType>SecondMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> <Count> <MealStatus Type="None" /> <MealType>SecondMeal</MealType> <Amount Type="Value" Credits="0">99999.99</Amount> <Tax>9999.99</Tax> <Value>99999</Value> </Count> </Counts> </FoodserviceStudentMealCounts>
Example 6.6.14-1: FoodserviceStudentMealCounts

6.6.15 FoodserviceTransaction

This object communicates food service transaction information. This is the key object that will be present for every food service transaction.

SIF_Events are reported for this object.

FoodserviceTransaction
Figure 6.6.15-1: FoodserviceTransaction FoodserviceTransaction RefId SchoolInfoRefId Program TransactionDate TransactionTime TransactionTypes TransactionType Customer SIF_RefId SIF_RefObject MealStatus EarnedStatus Amount Tax Description Voided SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceTransaction 

This object communicates food service transaction information. This is the key object that will be present for every food service transaction.

 
 
@
key
RefIdM

GUID that identifies food service transaction

 
RefIdType
 SchoolInfoRefIdM

GUID that identifies the school/site of account transaction

 
IdRefType
 ProgramM Program
 TransactionDateM

Date of transaction

 
xs:date
 TransactionTimeM

Time of transaction.

 
xs:time
 TransactionTypesM List
 TransactionTypes/TransactionType
     
MR

Type of transaction

 
values:
Purchase
Prepayment
Refund
Repayment
Adjustment
 CustomerM

The customer can be a student or staff.

 
 
@SIF_RefIdM

The GUID of the customer doing the transaction.

 
IdRefType
@SIF_RefObjectM

SIF customer type.

If StaffPersonal, then EarnedStatus is included. If StudentPersonal, then MealStatus is included.

 
values:
StudentPersonal
StaffPersonal
 Customer/MealStatusC MealStatus
 Customer/EarnedStatusC EarnedStatus
 AmountM FSAmountType
 TaxO

Amount of tax.

Note: Final amount is Amount/Value + Tax

 
MonetaryAmountType
 DescriptionO

Description of the Transaction

 
xs:string
 VoidedM

This flag tells us if the transaction is voided.

 
values:
Yes
No
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.15-1: FoodserviceTransaction
<FoodserviceTransaction RefId="A9E34B359F44D51A8C3D00AA001A1652"> <SchoolInfoRefId>EFA054E90CDE45C9BB8A87E9F8F9B238</SchoolInfoRefId> <Program Type="Foodservice">NSLP</Program> <TransactionDate>2003-08-25</TransactionDate> <TransactionTime>04:32:23-08:00</TransactionTime> <TransactionTypes> <TransactionType>Purchase</TransactionType> </TransactionTypes> <Customer SIF_RefObject="StudentPersonal" SIF_RefId="751177C738B047CD831375FA1CF50CBB"> <MealStatus Type="Reduced" /> </Customer> <Amount Type="Value" Credits="0" Currency="USD">12.00</Amount> <Description>Purchase of food items by a student</Description> <Voided>No</Voided> </FoodserviceTransaction>
Example 6.6.15-1: FoodserviceTransaction

6.6.16 FoodserviceTransactionDetails

This object gives the transaction distribution for food service transactions of type other than Purchase. So, this object can be requested for transactions of type Prepayment, Repayment, Refund, Adjustment.

SIF_Events are reported for this object.

FoodserviceTransactionDetails
Figure 6.6.16-1: FoodserviceTransactionDetails FoodserviceTransactionDetails RefId FoodserviceTransactionRefId Amounts Amount Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceTransactionDetails 

This object gives the transaction distribution for food service transactions of type other than Purchase. So, this object can be requested for transactions of type Prepayment, Repayment, Refund, Adjustment.

 
 
@
key
RefIdM

GUID that identifies transaction details

 
RefIdType
 FoodserviceTransactionRefIdM

GUID that identifies food service transaction

 
IdRefType
 AmountsM List
 Amounts/AmountMR

This amount refers to the funds being directed inwards to/outwards from the customer's account. That is: these amounts reflect the changes to the account balances.

 
FSAmountType
 DescriptionO

Description

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.16-1: FoodserviceTransactionDetails
<FoodserviceTransactionDetails RefId="E50EE86118004F238D21B86E70B5B4AA"> <FoodserviceTransactionRefId>D489306D404E4DB28E0B0DA8B4C24908</FoodserviceTransactionRefId> <Amounts> <Amount Type="Cash" Credits="0" Currency="USD">2.00</Amount> <Amount Type="BreakfastCredit" Credits="3">4.50</Amount> </Amounts> <Description>Refund for 2 dollars cash and 3 breakfast credits.</Description> </FoodserviceTransactionDetails>
Example 6.6.16-1: FoodserviceTransactionDetails

6.6.17 FoodserviceTransactionPayMethod

This object communicates the funding for a given transaction. By the term funding we refer to the form of payment that is made for the transaction.

SIF_Events are reported for this object.

FoodserviceTransactionPayMethod
Figure 6.6.17-1: FoodserviceTransactionPayMethod FoodserviceTransactionPayMethod RefId FoodserviceTransactionRefId TransactionPayMethods TransactionPayMethod Type Amounts Amount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FoodserviceTransactionPayMethod 

This object communicates the funding for a given transaction. By the term funding we refer to the form of payment that is made for the transaction.

 
 
@
key
RefIdM

GUID that identifies the payment

 
RefIdType
 FoodserviceTransactionRefIdM

GUID that identifies food service transaction

 
IdRefType
 TransactionPayMethodsM List
 TransactionPayMethods/TransactionPayMethod
     
MR

Transaction method.

 
 
@TypeM

This refers to the way the payment was made.

 
values:
Payment
Refund
Charge
Usage
 TransactionPayMethods/TransactionPayMethod/
     Amounts
M List
 TransactionPayMethods/TransactionPayMethod/
     Amounts/Amount
MR

This amount is the form of the incoming funds for this transaction. For example; the payment can be made by a credit card.

 
FSAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.17-1: FoodserviceTransactionPayMethod
<FoodserviceTransactionPayMethod RefId="FF8340A51D844EBDB156DE662BF373CE"> <FoodserviceTransactionRefId>A1D2C4527A484DB08DAD6C382F8F082F</FoodserviceTransactionRefId> <TransactionPayMethods> <TransactionPayMethod Type="Payment"> <Amounts> <Amount Type="Cash" Credits="0">2.50</Amount> <Amount Type="BreakfastCredit" Credits="1">1.50</Amount> </Amounts> </TransactionPayMethod> </TransactionPayMethods> </FoodserviceTransactionPayMethod>
Example 6.6.17-1: FoodserviceTransactionPayMethod

6.6.18 StaffMeal

This object communicates the current meal status and account status of a given staff member. This object indicates whether the staff member is entitled to earn meals.

SIF_Events, typically Change events, can be reported.

StaffMeal
Figure 6.6.18-1: StaffMeal StaffMeal StaffPersonalRefId EarnedStatus LastBreakfastDate LastLunchDate Amounts Amount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StaffMeal 

This object communicates the current meal status and account status of a given staff member. This object indicates whether the staff member is entitled to earn meals.

 
 
@
key
StaffPersonalRefIdM

The GUID of the staff to whom this object is linked.

 
IdRefType
 EarnedStatusM EarnedStatus
 LastBreakfastDateM

Last breakfast served date

 
xs:date
 LastLunchDateM

Last lunch served date

 
xs:date
 AmountsM List
 Amounts/AmountMR FSAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.18-1: StaffMeal
<StaffMeal StaffPersonalRefId="A9E34B359F44D51A8C3D00AA001A1652"> <EarnedStatus Type="Yes"> <StartDate>2003-08-25</StartDate> <EndDate>2003-08-25</EndDate> </EarnedStatus> <LastBreakfastDate>2003-08-25</LastBreakfastDate> <LastLunchDate>2003-08-25</LastLunchDate> <Amounts> <Amount Type="Cash" Credits="0">3.50</Amount> <Amount Type="BreakfastCredit" Credits="3">3.00</Amount> <Amount Type="LunchCredit" Credits="5">7.50</Amount> </Amounts> </StaffMeal>
Example 6.6.18-1: StaffMeal

6.6.19 StudentMeal

This object communicates the current meal/account status of a given student.

This object will return information such as the amount of remaining breakfast/lunch credits, cash balance, meal status (free/reduced), etc. Systems may optionally support the historical reporting of a student's meal status (free/reduced).

SIF_Events, typically Change events, can be reported.

StudentMeal
Figure 6.6.19-1: StudentMeal StudentMeal StudentPersonalRefId MealStatus HistoricalMealStatus MealStatus LastBreakfastDate LastLunchDate Amounts Amount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentMeal 

This object communicates the current meal/account status of a given student.

This object will return information such as the amount of remaining breakfast/lunch credits, cash balance, meal status (free/reduced), etc. Systems may optionally support the historical reporting of a student's meal status (free/reduced).

 
 
@
key
StudentPersonalRefIdM

The GUID of the student to whom this object is linked.

 
IdRefType
 MealStatusO

The student's current meal status.

 
MealStatus
 HistoricalMealStatusO

Optionally provides the meal status of the student historically.

 
List
 HistoricalMealStatus/MealStatus
     
MR

The student's meal status. Note that as this status is historical, StartDate and EndDate together, and/or SchoolYear MUST be included. If SchoolYear is included, StartDate and EndDate should not cross school year boundaries, i.e. in addition to multiple statuses being a possibility in a given school year, the same status may be repeated so StartDate and EndDate don't disagree with SchoolYear, if included.

 
MealStatus
 LastBreakfastDateO

Date of the last reimbursable breakfast served.

 
xs:date
 LastLunchDateO

Date of the last reimbursable lunch served.

 
xs:date
 AmountsO List
 Amounts/AmountMR FSAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.6.19-1: StudentMeal
<StudentMeal StudentPersonalRefId="D3E34B359D75101A8C3D00AA001A1652"> <MealStatus Type="Free" /> <HistoricalMealStatus> <MealStatus Type="Reduced"> <StartDate>2003-09-01</StartDate> <EndDate>2004-06-01</EndDate> <SchoolYear>2004</SchoolYear> </MealStatus> <MealStatus Type="None"> <SchoolYear>2003</SchoolYear> </MealStatus> </HistoricalMealStatus> <LastBreakfastDate>2005-09-25</LastBreakfastDate> <LastLunchDate>2005-09-25</LastLunchDate> <Amounts> <Amount Type="Cash" Credits="0">3.50</Amount> <Amount Type="BreakfastCredit" Credits="3">3.00</Amount> <Amount Type="LunchCredit" Credits="5">7.50</Amount> </Amounts> </StudentMeal>
Example 6.6.19-1: StudentMeal

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
<GradingAssignment RefId="359D75101AD0A9D7A8C3DAD0A85103A2" SectionInfoRefId="D0A0A27AD0A8510AD9D75101A8C3DA39" TermInfoRefId="A8C3A2E35B359D75101D00AA001A0000" GradingCategoryRefId="98A57A0013BA8C3D00AA012B359D751A" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <Description>Pop Quiz</Description> <PointsPossible>100</PointsPossible> <CreateDate>2000-11-21</CreateDate> <DueDate>2000-11-25</DueDate> <Weight>1.0</Weight> <DetailedDescription Type="URL">http://www.assignmentinfo.com/assignment1.pdf</DetailedDescription> </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
<GradingAssignmentScore StudentPersonalRefId="A75A00101A8C301D02E3A05B359D0A00" SectionInfoRefId="D0A0A27AD0A8510AD9D75101A8C3DA39" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB" GradingAssignmentRefId="359D75101AD0A9D7A8C3DAD0A85105D2"> <ScorePoints>45</ScorePoints> <ScorePercent>90</ScorePercent> <ScoreDescription>Excellent</ScoreDescription> </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
<GradingCategory RefId="98157AA013BA8C3D00AA012B359D7512" SectionInfoRefId="13BA8C3D00AA098157AA012B359D7512" TermInfoRefId="D00AA012B359D798157AA013BA8C3512" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <Description>Tests</Description> </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
<MarkInfo RefId="46BDBA4301C11737E214A7CADCA75C87" MarkValueInfoRefId="301CADCA7511737E214A7C46BDBA4E23" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <SchoolYear>2004</SchoolYear> <Description>Marking Period Grade</Description> </MarkInfo>
Example 6.7.4-1: MarkInfo
<MarkInfo RefId="11737E214A7C46BDBA4301CADCA75C87" MarkValueInfoRefId="11737E214A7C46BDBA4301CADCA75E23" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <SchoolYear>2004</SchoolYear> <Description>Conduct Grade</Description> </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
<MarkValueInfo RefId="11737E214A7C46BDBA4301CADCA75C87" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <SchoolYear>2004</SchoolYear> <Name>Letter Grades</Name> <Percentage IsAccepted="false" /> <Numeric IsAccepted="false" /> <Letter IsAccepted="true"> <ValidMark> <Code>A</Code> <NumericEquivalent>100</NumericEquivalent> </ValidMark> <ValidMark> <Code>B</Code> <NumericEquivalent>90</NumericEquivalent> </ValidMark> <ValidMark> <Code>C</Code> <NumericEquivalent>80</NumericEquivalent> </ValidMark> <ValidMark> <Code>D</Code> <NumericEquivalent>70</NumericEquivalent> </ValidMark> <ValidMark> <Code>F</Code> <NumericEquivalent>60</NumericEquivalent> </ValidMark> </Letter> <Narrative IsAccepted="false" /> </MarkValueInfo>
Example 6.7.5-1: MarkValueInfo
<MarkValueInfo RefId="11737E214A7C46BDBA4301CADCA75C87" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <SchoolYear>2004</SchoolYear> <Name>Numeric Grade</Name> <Percentage IsAccepted="false" /> <Numeric IsAccepted="true"> <Precision>6</Precision> <Scale>2</Scale> <Low>0</Low> <High>1000</High> </Numeric> <Letter IsAccepted="false" /> <Narrative IsAccepted="false" /> </MarkValueInfo>
Example 6.7.5-2: MarkValueInfo
<MarkValueInfo RefId="11737E214A7C46BDBA4301CADCA75C87" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <SchoolYear>2004</SchoolYear> <Name>Free Form Comment</Name> <Percentage IsAccepted="false" /> <Numeric IsAccepted="false" /> <Letter IsAccepted="false" /> <Narrative IsAccepted="true"> <MaximumSize>255</MaximumSize> </Narrative> </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
<OfficialStudentPeriodAttendance RefId="98157AA013BA8C3D00AA012B359D7512" StudentPersonalRefId="A75A00101A8C301D02E3A05B359D0A00" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB" Date="2001-03-05" SectionInfoRefId="D02E3A05B359DA75A00101A8C3010A00"> <TimetablePeriod>P4</TimetablePeriod> <AttendanceCode AttendanceCodeInfoRefId="1A0000359D75101A8C3D00AA00A2E35B">042</AttendanceCode> <AuditInfo> <CreationUser Type="School Admin"> <UserId>AttendanceKeeper</UserId> </CreationUser> <CreationDateTime>2006-09-26T15:43:00-05:00</CreationDateTime> </AuditInfo> </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 SIF_Action 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
@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
 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
<SectionMarkInfo SectionInfoRefId="11737E214A7C46BDBA4301CADCA75C87" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <TermMarkLists> <MarkInfoList TermInfoRefId="BDBA4301CA1A7C461737DCA75C87E214"> <MarkInfoRefId>A7C46BDBA4301CA11737E214DCA75C87</MarkInfoRefId> <MarkInfoRefId>BA4301CADCA75C8711737E214A7C46BD</MarkInfoRefId> </MarkInfoList> <MarkInfoList TermInfoRefId="01CA1BDBA43A7C461737DCA75C87E214"> <MarkInfoRefId>A7C46BDBA4301CA11737E214DCA75C87</MarkInfoRefId> <MarkInfoRefId>BA4301CADCA75C8711737E214A7C46BD</MarkInfoRefId> </MarkInfoList> </TermMarkLists> </SectionMarkInfo>
Example 6.7.7-1: SectionMarkInfo

6.7.8 StudentGrade

This is an object that a LMS or other application will utilize to provide grades about students in a section to a grade book. A grade book is often used to collect various assignment scores or test scores for students in a class or section and then calculate various grades or marks that are printed on report cards. When a LMS is also being used in a LEA, additional information is gathered by the LMS and some of this information needs to be available to the grade book to facilitate calculation of the report card grades or marks (i.e. StudentSectionMarks). This object is available to facilitate communication of the final grade from the LMS to the grade book.

SIF_Events are reported for this object.

Click here for non-normative background/supplementary documentation on this object.

StudentGrade
Figure 6.7.8-1: StudentGrade StudentGrade RefId StudentPersonalRefId SectionInfoRefId SchoolInfoRefId SchoolYear Grade Percentage Numeric OutOf Low High Letter Narrative SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentGrade 

This object contains the final grade for a student in a section.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies this object.

 
RefIdType
 StudentPersonalRefIdM

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

 
IdRefType
 SectionInfoRefIdM

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

 
IdRefType
 SchoolInfoRefIdM

The ID (GUID) that uniquely identifies the school that these values apply to.

 
IdRefType
 SchoolYearM

School year for which this information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2008 for the 2007-08 school year).

 
SchoolYear
 GradeMThis is the one grade given for this student and section. At least one numeric, percentage or letter must be provided as defined in the fields below. If Grade/Numeric is entered, Grade/OutOf, Grade/Low and Grade/High must also be entered.  
 Grade/PercentageCThe grade percentage for this grade (0.00-100.00). xs:decimal
xs:minInclusive0.00
xs:maxInclusive100.00
 Grade/NumericCThe raw numeric value for this grade. If this is provided, the OutOf, Low and High must be entered. xs:decimal
 Grade/OutOfCThis is the high value equivalent to 100% without extra points or extra credit (e.g. if a student received 3.5 out of 4, 4 would be the Grade/OutOf value and 3.5 would be the Grade/Numeric value). xs:decimal
 Grade/LowCLowest grade value in the range for the numeric grade. xs:decimal
 Grade/HighCHighest grade value in the range for the numeric grade. NOTE: This could be higher than the Grade/OutOf value. xs:decimal
 Grade/LetterCThe letter grade value for this grade. If this is provided, the numeric value or percentage value must also be entered in order to provide a numeric value for the grade to be utilized in any computations. xs:token
 Grade/NarrativeOThe free form text narrative for this grade. xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.7.8-1: StudentGrade
<StudentGrade RefId="0E54211E78674FC9B32E5FD5AC2A4CE0"> <StudentPersonalRefId>A137D78E00BC744EF90AF2871CEB90A2</StudentPersonalRefId> <SectionInfoRefId>AAA0937D8392BB0297ECA78D8F9A3914</SectionInfoRefId> <SchoolInfoRefId>830DCB82EA8A90243BC4E7AD902BC47D</SchoolInfoRefId> <SchoolYear>2008</SchoolYear> <Grade> <Percentage>79</Percentage> <Numeric>3.0</Numeric> <OutOf>4.0</OutOf> <Low>0.0</Low> <High>4.5</High> <Letter>C</Letter> <Narrative>Johnny is only achieving average performance.</Narrative> </Grade> <SIF_Metadata> <EducationFilter> <LearningStandardItems> <LearningStandardItemRefId>502070339FA347B5B123BEF68D118332</LearningStandardItemRefId> </LearningStandardItems> </EducationFilter> </SIF_Metadata> </StudentGrade>
Example 6.7.8-1: StudentGrade

6.7.9 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.9-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.9-1: StudentPeriodAttendance
<StudentPeriodAttendance RefId="98157AA013BA8C3D00AA012B359D7512" StudentPersonalRefId="A75A00101A8C301D02E3A05B359D0A00" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB" Date="2001-03-05" SectionInfoRefId="D02E3A05B359DA75A00101A8C3010A00"> <TimetablePeriod>P4</TimetablePeriod> <AttendanceCode AttendanceCodeInfoRefId="1A0000359D75101A8C3D00AA00A2E35B">042</AttendanceCode> <AuditInfo> <CreationUser Type="School Admin"> <UserId>AttendanceKeeper</UserId> </CreationUser> <CreationDateTime>2006-09-26T15:43:00-05:00</CreationDateTime> </AuditInfo> </StudentPeriodAttendance>
Example 6.7.9-1: StudentPeriodAttendance

6.7.10 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.10-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.10-1: StudentSectionMarks
<StudentSectionMarks StudentPersonalRefId="11737EA4301CADCA75C87214A7C46BDB" SectionInfoRefId="11737E214A7C46BDBA4301CADCA75C99" TermInfoRefId="BDBA4301CA1A7C461737DCA75C87E214" SchoolInfoRefId="11737EA4301CADCA75C87214A7C46BDB"> <IsFinal>true</IsFinal> <MarkList> <Mark MarkInfoRefId="A7C46BDBA4301CA11737E214DCA75C87"> <Percentage>88</Percentage> <Letter>B</Letter> </Mark> <Mark MarkInfoRefId="737E214A7C46BDBA4301CA11DCA75C87"> <Narrative>Plays well with others and is willing to share with the one exception being food. Student is very possessive of his lunch and becomes very aggressive if anyone attempts to take any of it from him</Narrative> </Mark> <Mark MarkInfoRefId="11737E214A7C46BDBA4301CADCA75E23"> <Letter>A9</Letter> </Mark> </MarkList> </StudentSectionMarks>
Example 6.7.10-1: StudentSectionMarks

6.8 Human Resources & Financials Working Group

The Human Resources & Financials Working Group defines the SIF specifications for human resources and financial application software, focusing solely on defining specifications for the information required by the other SIF application groups from the human resource and financial applications in order to prevent duplicate input of the same data, or to keep applications in sync with data that is primarily maintained in human resource and financial applications.

6.8.1 AccountingPeriod

This object defines an accounting period within a fiscal year.

SIF_Events are reported for this object.

AccountingPeriod
Figure 6.8.1-1: AccountingPeriod AccountingPeriod RefId Name Description FiscalYearRefId StartDate EndDate SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AccountingPeriod 

This object defines an accounting period within a fiscal year.

 
 
@
key
RefIdM

GUID that identifies this accounting period.

 
RefIdType
 NameM

Name of the accounting period.

 
xs:normalizedString
 DescriptionO xs:string
 FiscalYearRefIdM

Fiscal year to which this accounting period belongs.

 
IdRefType
 StartDateM

Start date of the accounting period.

 
xs:date
 EndDateM

End date of the accounting period.

 
xs:date
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.1-1: AccountingPeriod
<AccountingPeriod RefId="A08CC23B059C400CAA9F9BBD3DFF94F1"> <Name>Quarter 1</Name> <Description>First Qtr</Description> <FiscalYearRefId>AE109F1AC2DE41E49DF5C418F3DF18A3</FiscalYearRefId> <StartDate>2003-01-01</StartDate> <EndDate>2003-03-31</EndDate> </AccountingPeriod>
Example 6.8.1-1: AccountingPeriod

6.8.2 Billing

This object contains an amount to be billed to an outside entity.

SIF_Events are reported for this object.

Billing
Figure 6.8.2-1: Billing Billing RefId BilledEntity SIF_RefObject BillingDate TransactionDescription BilledAmount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Billing 

This object contains an amount to be billed to an outside entity.

 
 
@
key
RefIdM

GUID for this transaction. The application that owns this object is responsible for generating this unique ID.

 
RefIdType
 BilledEntityM

ID of the entity being billed for this billing activity (e.g., student, employee, organization).

 
IdRefType
@SIF_RefObjectM

SIF object referenced by BilledEntity.

 
values:
StudentPersonal
StaffPersonal
VendorInfo
Purchasing
 BillingDateM

Date of the transaction.

 
xs:date
 TransactionDescriptionM

Description of the transaction.

 
xs:string
 BilledAmountM

Amount to be billed.

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.2-1: Billing
<Billing RefId="CA12345847DEA97463FEB238759FD123"> <BilledEntity SIF_RefObject="StaffPersonal">BA497254965FDA48965ABCE4589EA421</BilledEntity> <BillingDate>1999-10-12</BillingDate> <TransactionDescription>Activity Fees</TransactionDescription> <BilledAmount Currency="USD">50.00</BilledAmount> </Billing>
Example 6.8.2-1: Billing

6.8.3 EmployeeAssignment

This object defines information related to an employee assignment as it pertains to the human resource needed to track employee assignment for employee reporting and financial funding tracking. The staff assignment record will hold more detail of the actual assignment. There are multiple records for each assignment and/or location.

SIF_Events are reported for this object.

EmployeeAssignment
Figure 6.8.3-1: EmployeeAssignment EmployeeAssignment RefId EmployeePersonalRefId Description PrimaryAssignment LocationInfoRefId JobStartDate JobEndDate JobFTE JobClassification Code OtherCodeList ProgramType Code OtherCodeList FundingSource Code OtherCodeList SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeAssignment 

This object defines information related to an employee assignment as it pertains to the human resource needed to track employee assignment for employee reporting and financial funding tracking. The staff assignment record will hold more detail of the actual assignment. There are multiple records for each assignment and/or location.

 
 
@
key
RefIdM

The GUID that uniquely identifies a particular HR staff assignment.

 
RefIdType
@EmployeePersonalRefIdM

This GUID referencing the parent EmployeePersonal object

 
IdRefType
 DescriptionM

Short assignment description

 
xs:string
 PrimaryAssignmentM

Is this the staff member's primary assignment? There must be one and only one instance of the object with Yes in this value per school year.

 
values:
Yes
No
 LocationInfoRefIdO

This is an optional element so the placement of the employee within the agency can be tracked as needed. The GUID references the LocationInfo object.

 
IdRefType
 JobStartDateO

This is the date from which the staff assignment is valid (inclusive).

 
xs:date
 JobEndDateC

This is the date through which the staff assignment is valid (inclusive). Present if the JobStartDate is entered and a JobEndDate is available.

 
xs:date
 JobFTEO

Full-time job equivalent ratio for this assignment. (Format is x.xx; an employee who is full-time and who spends 50% of their time on this assignment would be represented as 0.50)

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits2
 JobClassificationO

The specific group of duties or responsibilities of position.

 
 
 JobClassification/CodeM

The specific group of duties or responsibilities of position.

 
NCES0557JobClassificationType
 JobClassification/OtherCodeList
     
O OtherCodeList
 ProgramTypeO

The type of instructional or non-instructional program.

 
 
 ProgramType/CodeM

The type of instructional or non-instructional program.

 
NCES0229ProgramTypeType
 ProgramType/OtherCodeList
     
O OtherCodeList
 FundingSourceO

Provider of funds for the program or service.

 
 
 FundingSource/CodeM

Provider of funds for the program or service.

 
NCES0222ProgramFundingSourceType
 FundingSource/OtherCodeList
     
O OtherCodeList
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.3-1: EmployeeAssignment
<EmployeeAssignment RefId="FE1078BA3261545A31905937B265CE01" EmployeePersonalRefId="BE1078BA3261545A31905937B265CE02"> <Description>First grade elementary teacher</Description> <PrimaryAssignment>Yes</PrimaryAssignment> <LocationInfoRefId>FD1078BA3261545A31905937B265CE01</LocationInfoRefId> <JobStartDate>2000-09-05</JobStartDate> <JobEndDate>2001-06-25</JobEndDate> <JobFTE>1.00</JobFTE> <JobClassification> <Code>1000</Code> </JobClassification> <ProgramType> <Code>0100</Code> </ProgramType> <FundingSource> <Code>0617</Code> </FundingSource> </EmployeeAssignment>
Example 6.8.3-1: EmployeeAssignment

6.8.4 EmployeeContract

This object contains HR contract information related to employees.

SIF_Events are reported for this object.

EmployeeContract
Figure 6.8.4-1: EmployeeContract EmployeeContract RefId EmployeePersonalRefId BaseSalary ContractStartDate ContractEndDate ContractTerm ContractDays AssignmentDays SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeContract 

This object contains HR contract information related to employees.

 
 
@
key
RefIdM

The GUID of the employee contract information.

 
RefIdType
@EmployeePersonalRefIdM

The GUID that refers to the EmployeePersonal object.

 
IdRefType
 BaseSalaryM

Base salary of employee for this contact

 
MonetaryAmountType
 ContractStartDateM

Contractual start date.

 
xs:date
 ContractEndDateM

Contractual ending date.

 
xs:date
 ContractTermO

Contractual Term in school years

 
NCES0468ContractualTermType
 ContractDaysO

Number of days in service for contract total

 
xs:decimal
 AssignmentDaysO

Number of days per year employee is expected to work in this assignment

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.4-1: EmployeeContract
<EmployeeContract RefId="AA1078BA3261545A31905937B265CE01" EmployeePersonalRefId="AB1078BA3261545A31905937B265CE01"> <BaseSalary Currency="USD">25000</BaseSalary> <ContractStartDate>2003-07-01</ContractStartDate> <ContractEndDate>2004-06-30</ContractEndDate> <ContractTerm>0410</ContractTerm> <ContractDays>190</ContractDays> <AssignmentDays>180</AssignmentDays> </EmployeeContract>
Example 6.8.4-1: EmployeeContract

6.8.5 EmployeePersonal

This object contains basic HR information for employees.

SIF_Events are reported for this object.

EmployeePersonal
Figure 6.8.5-1: EmployeePersonal EmployeePersonal RefId StateProvinceId OtherIdList OtherId Type Name Demographics AddressList PhoneNumberList EmailList SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeePersonal 

This object contains basic HR information for employees.

 
 
@
key
RefIdM

The GUID that uniquely identifies this employee.

 
RefIdType
 StateProvinceIdO

The state-assigned identifier for this staff member.

 
StateProvinceId
 OtherIdListO

List all "other" IDs associated with the employee.

 
List
 OtherIdList/OtherIdOR

This field can hold a SSN, state or locally assigned ID.

 
xs:normalizedString
@TypeM values:
SSN
State
Local
Other
 NameM

Name of employee.

 
Name
 DemographicsO

This element contains information related to employee demographics.

 
Demographics
 AddressListO

The employee's address(es).

 
AddressList
 PhoneNumberListO

The employee's phone number(s).

 
PhoneNumberList
 EmailListO

The employee's e-mail address(es).

 
EmailList
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.5-1: EmployeePersonal
<EmployeePersonal RefId="CD590651225DAC3859DEA3458BC39583"> <OtherIdList> <OtherId Type="SSN">590651225</OtherId> <OtherId Type="Other">3333</OtherId> </OtherIdList> <Name Type="04"> <LastName>Stone</LastName> <FirstName>Alicia</FirstName> </Name> <Demographics> <Gender>F</Gender> </Demographics> <AddressList> <Address Type="0123"> <Street> <Line1>600 Royal Oak</Line1> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60601</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">stone@royaloak.org</Email> </EmailList> </EmployeePersonal>
Example 6.8.5-1: EmployeePersonal

6.8.6 EmployeePicture

This object contains information about an employee's picture.

SIF_Events are reported for this object.

EmployeePicture
Figure 6.8.6-1: EmployeePicture EmployeePicture EmployeePersonalRefId PictureSource Type SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeePicture 

This object contains information about an employee's picture.

 
 
@
key
EmployeePersonalRefIdM

This is the GUID of the Employee whose picture this is.

 
IdRefType
 PictureSourceM

This element defines the picture. If the Type attribute is URL, this is the location of the picture in [JPEG] format; if Type is JPEG, this is the [JPEG] image data encoded using the Base64 Content-Transfer-Encoding defined in Section 6.8 of [RFC 2045].

 
URIOrBinaryType
@TypeM

The way the picture is specified.

 
values:
URL
JPEG
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.6-1: EmployeePicture
<EmployeePicture EmployeePersonalRefId="D3E34B359D75101A8C3D00AA001A1652"> <PictureSource Type="URL">http://www.schoolsite.com/pictures/1999/1234.jpg</PictureSource> </EmployeePicture>
Example 6.8.6-1: EmployeePicture

6.8.7 EmployeeWage

This object contains HR/payroll employee information used to define how to pay an employee per pay cycle.

SIF_Events are reported for this object.

EmployeeWage
Figure 6.8.7-1: EmployeeWage EmployeeWage RefId EmployeePersonalRefId PayRates PayRate Type Amount Percentage SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeWage 

This object contains HR/payroll employee information used to define how to pay an employee per pay cycle.

 
 
@
key
RefIdM

The GUID of the employee's pay information.

 
RefIdType
@EmployeePersonalRefIdM

The GUID that refers to the EmployeePersonal object.

 
IdRefType
 PayRatesM List
 PayRates/PayRateMR

Per pay distributions

 
 
@TypeM

Type of pay

 
values:
P
Per pay
H
Hourly
D
Per diem
X
Extra pay
 PayRates/PayRate/AmountM

Pay amount.

 
MonetaryAmountType
 PayRates/PayRate/Percentage
     
M

Percentage of pay this represents.

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.7-1: EmployeeWage
<EmployeeWage RefId="CDF90651225DAC3859D2A3458BC39583" EmployeePersonalRefId="CD490651225DAC3859DEA3458BC39522"> <PayRates> <PayRate Type="P"> <Amount Currency="USD">355.45</Amount> <Percentage>100</Percentage> </PayRate> </PayRates> </EmployeeWage>
Example 6.8.7-1: EmployeeWage

6.8.8 EmploymentRecord

This object contains a snapshot (view) of employment information for an employee.

SIF_Events are reported for this object.

EmploymentRecord
Figure 6.8.8-1: EmploymentRecord EmploymentRecord SIF_RefId SIF_RefObject LEAInfoRefId Active FullTimeStatus HireDate TerminationDate TotalYearsExperience PositionTitle PositionNumber SeniorityDate TenureDate SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmploymentRecord 

This object contains a snapshot (view) of employment information for an employee.

 
 
@
key
SIF_RefIdO

The GUID can either refer to the EmployeePersonal or StaffPersonal object.

 
IdRefType
@
key
SIF_RefObjectM values:
EmployeePersonal
StaffPersonal
 LEAInfoRefIdM

The GUID reference to the LEAInfo object representing the LEA that employs the staff member.

 
IdRefType
 ActiveO

Staff is currently active and/or employed.

 
xs:boolean
 FullTimeStatusO

Full-time status of employee.

 
NCES0476FullTimeStatusType
 HireDateO

Date the employee was hired.

 
xs:date
 TerminationDateC

Date the employee resigned. Present if a HireDate is entered and a TerminationDate is available.

 
xs:date
 TotalYearsExperienceO

Total number of years of prior experience.

 
xs:unsignedInt
 PositionTitleO

Employee's current position title.

 
xs:normalizedString
 PositionNumberO

Employee's level or category assigned by employer.

 
xs:normalizedString
 SeniorityDateO

Date employee has seniority.

 
xs:date
 TenureDateO

Date employee is tenured.

 
xs:date
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.8-1: EmploymentRecord
<EmploymentRecord SIF_RefObject="EmployeePersonal" SIF_RefId="CDF90651225DAC3859DEA3458BC39522"> <LEAInfoRefId>8545A0A6E5CC40CB9B5C07C9E0696725</LEAInfoRefId> <Active>true</Active> <FullTimeStatus>0843</FullTimeStatus> <HireDate>2003-03-20</HireDate> <TotalYearsExperience>20</TotalYearsExperience> <PositionTitle>Elementary Teacher Grade 3</PositionTitle> <PositionNumber>12</PositionNumber> <SeniorityDate>2003-07-01</SeniorityDate> <TenureDate>2003-07-01</TenureDate> </EmploymentRecord>
Example 6.8.8-1: EmploymentRecord

6.8.9 FinancialAccount

This object communicates information about a financial account.

SIF_Events are reported for this object.

FinancialAccount
Figure 6.8.9-1: FinancialAccount FinancialAccount RefId AccountNumber Name Description FinancialClassRefId CreationDate CreationTime SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialAccount 

This object communicates information about a financial account.

 
 
@
key
RefIdM

GUID that identifies this financial account.

 
RefIdType
 AccountNumberM

Account number used for ledger.

 
xs:normalizedString
 NameM

Name of the account.

 
xs:normalizedString
 DescriptionO

Description.

 
xs:string
 FinancialClassRefIdM

Financial class of the account.

 
IdRefType
 CreationDateM

Account creation date.

 
xs:date
 CreationTimeM

Account creation time.

 
xs:time
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.9-1: FinancialAccount
<FinancialAccount RefId="EEC8FC128D2C4EE394A86C5395024EDE"> <AccountNumber>9990001</AccountNumber> <Name>Purchased Foods</Name> <Description>Purchased Foods</Description> <FinancialClassRefId>C6576B6AF13F49E09F0B6B0A92BF5D3B</FinancialClassRefId> <CreationDate>2003-01-01</CreationDate> <CreationTime>04:32:23-08:00</CreationTime> </FinancialAccount>
Example 6.8.9-1: FinancialAccount

6.8.10 FinancialAccountAccountingPeriodLocationInfo

This object relates financial account to an accounting period and a location.

SIF_Events are reported for this object.

FinancialAccountAccountingPeriodLocationInfo
Figure 6.8.10-1: FinancialAccountAccountingPeriodLocationInfo FinancialAccountAccountingPeriodLocationInfo RefId FinancialAccountRefId AccountingPeriodRefId LocationInfoRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialAccountAccountingPeriodLocationInfo 

This object relates financial account to an accounting period and a location.

 
 
@
key
RefIdM

GUID that identifies this object.

 
RefIdType
 FinancialAccountRefIdM

Financial account reference.

 
IdRefType
 AccountingPeriodRefIdM

Accounting period reference.

 
IdRefType
 LocationInfoRefIdM

LocationInfo reference.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.10-1: FinancialAccountAccountingPeriodLocationInfo
<FinancialAccountAccountingPeriodLocationInfo RefId="B595A5959A8FE43448DF0EF5C635CD0E"> <FinancialAccountRefId>C6576B6AF13F49E09F0B6B0A92BF5D3B</FinancialAccountRefId> <AccountingPeriodRefId>BA03EDF66F2848D7BE32586D98170F29</AccountingPeriodRefId> <LocationInfoRefId>E72C08BD41894187BA07B00C1401BE3F</LocationInfoRefId> </FinancialAccountAccountingPeriodLocationInfo>
Example 6.8.10-1: FinancialAccountAccountingPeriodLocationInfo

6.8.11 FinancialAnnual

This object contains information about account code annual financial totals, summarized by major and/or minor account code breaks.

SIF_Events are not reported for this object.

FinancialAnnual
Figure 6.8.11-1: FinancialAnnual FinancialAnnual ReportDate StateProvinceId FiscalYear AnnualItems AnnualItem AccountType FundType StateProvinceId ExpenditureArea Function Object InstructionalProgram Amount SpecialAmountType GLAmountType SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialAnnual 

This object contains information about account code annual financial totals, summarized by major and/or minor account code breaks.

 
 
 ReportDateM

Date on which snapshot was generated.

 
xs:date
 StateProvinceIdM

State assigned reporting ID for district or agency

 
StateProvinceId
 FiscalYearM

Fiscal year of summary account

(e.g. the 2003-2004 fiscal year will be denoted as 2004)

 
xs:gYear
 AnnualItemsM List
 AnnualItems/AnnualItemMR

Contains information about the item being summarized.

 
 
 AnnualItems/AnnualItem/AccountType
     
M

Classification of budgetary account code summary

 
values:
Revenue
Expenditure
Other
 AnnualItems/AnnualItem/FundType
     
M

Is the account a general or special account code designation?

 
values:
General
Special
 AnnualItems/AnnualItem/StateProvinceId
     
O

State-assigned ID for the relative area in which the expenditure/revenue was used.

 
StateProvinceId
 AnnualItems/AnnualItem/ExpenditureArea
     
O

Relative area in which the expenditure was used.

 
values:
Elementary
Secondary
Federal
Other
 AnnualItems/AnnualItem/Function
     
M

Function break in account code for summarization.

 
xs:normalizedString
 AnnualItems/AnnualItem/Object
     
O

Object break in account code for summarization.

 
xs:normalizedString
 AnnualItems/AnnualItem/InstructionalProgram
     
O

Instructional program break in account code for summarization

 
xs:normalizedString
 AnnualItems/AnnualItem/Amount
     
M

Summarized amount.

 
xs:decimal
 AnnualItems/AnnualItem/SpecialAmountType
     
O

With regard to regional/local education service agencies report of "special" account code information, the account code summarization can be classified as:

 
values:
1
Special Education
2
Transportation
3
Early Intervention
4
Institutionalized Children
5
Other
 AnnualItems/AnnualItem/GLAmountType
     
O

General Ledger Amount Type. With regard to an account code grouping classified as a General Ledger account:

 
values:
1
Administration
2
Curriculum Development and Improvement
3
Education Planning
4
Instructional Materials
5
Management
6
Continuing Education
7
Pupil Personnel
8
State and Federal Liaison
9
Federal
10
Medical Assistance
11
Auxiliary services of non-profit private and parochial schools
12
Other
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.11-1: FinancialAnnual
<FinancialAnnual> <ReportDate>2003-07-31</ReportDate> <StateProvinceId>123232323</StateProvinceId> <FiscalYear>2004</FiscalYear> <AnnualItems> <AnnualItem> <AccountType>Expenditure</AccountType> <FundType>Special</FundType> <ExpenditureArea>Elementary</ExpenditureArea> <Function>1100</Function> <Object>610</Object> <InstructionalProgram>4000</InstructionalProgram> <Amount>732</Amount> <SpecialAmountType>1</SpecialAmountType> <GLAmountType>1</GLAmountType> </AnnualItem> </AnnualItems> </FinancialAnnual>
Example 6.8.11-1: FinancialAnnual

6.8.12 FinancialBudget

This object contains information about account code budget totals, summarized by major and/or minor account code breaks. It is a snapshot object used to allow a district to report summarized financial budgetary information to their state as required.

SIF_Events are not reported for this object.

FinancialBudget
Figure 6.8.12-1: FinancialBudget FinancialBudget ReportDate StateProvinceId FiscalYear BudgetAccounts BudgetAccount AccountClass FundBreakdown FunctionBreakdown ObjectBreakdown BudgetAmount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialBudget 

This object contains information about account code budget totals, summarized by major and/or minor account code breaks. It is a snapshot object used to allow a district to report summarized financial budgetary information to their state as required.

 
 
 ReportDateM

Date on which snapshot was generated.

 
xs:date
 StateProvinceIdM

State-assigned identifier for this location

 
StateProvinceId
 FiscalYearM

Fiscal Year of summary account

(e.g. the 2003-2004 fiscal year will be denoted as 2004)

 
xs:gYear
 BudgetAccountsM List
 BudgetAccounts/BudgetAccount
     
MR

Information about budget accounts being submitted.

 
 
 BudgetAccounts/BudgetAccount/
     AccountClass
M

Classification of budgetary account code summary

 
values:
Revenue
Expenditure
Other
 BudgetAccounts/BudgetAccount/
     FundBreakdown
O

Fund breakdown of account code for summarization.

 
xs:normalizedString
 BudgetAccounts/BudgetAccount/
     FunctionBreakdown
M

Function breakdown of account code for summarization.

 
xs:normalizedString
 BudgetAccounts/BudgetAccount/
     ObjectBreakdown
O

Object breakdown of account code for summarization.

 
xs:normalizedString
 BudgetAccounts/BudgetAccount/
     BudgetAmount
M

Summarized, positive amount without cents for breakdowns

 
xs:unsignedInt
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.12-1: FinancialBudget
<FinancialBudget> <ReportDate>2003-07-02</ReportDate> <StateProvinceId>123456789</StateProvinceId> <FiscalYear>2004</FiscalYear> <BudgetAccounts> <BudgetAccount> <AccountClass>Expenditure</AccountClass> <FundBreakdown>10</FundBreakdown> <FunctionBreakdown>1100</FunctionBreakdown> <ObjectBreakdown>610</ObjectBreakdown> <BudgetAmount>402234</BudgetAmount> </BudgetAccount> <BudgetAccount> <AccountClass>Expenditure</AccountClass> <FundBreakdown>10</FundBreakdown> <FunctionBreakdown>1200</FunctionBreakdown> <ObjectBreakdown>610</ObjectBreakdown> <BudgetAmount>56000</BudgetAmount> </BudgetAccount> </BudgetAccounts> </FinancialBudget>
Example 6.8.12-1: FinancialBudget

6.8.13 FinancialClass

This object communicates financial class information. Financial classes are used to categorize financial accounts.

SIF_Events are reported for this object.

FinancialClass
Figure 6.8.13-1: FinancialClass FinancialClass RefId Name Description ClassType SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialClass 

This object communicates financial class information. Financial classes are used to categorize financial accounts.

 
 
@
key
RefIdM

GUID that identifies this financial class.

 
RefIdType
 NameM

Name of the financial class.

 
xs:normalizedString
 DescriptionO

Description.

 
xs:string
 ClassTypeM values:
Asset
Liability
Revenue
Expense
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.13-1: FinancialClass
<FinancialClass RefId="EEC8FC128D2C4EE394A86C5395024EDE"> <Name>Asset</Name> <Description>Assets</Description> <ClassType>Asset</ClassType> </FinancialClass>
Example 6.8.13-1: FinancialClass

6.8.14 FinancialIncomeStatement

This object communicates the income statement details for a location and an accounting period.

SIF_Events are reported for this object.

FinancialIncomeStatement
Figure 6.8.14-1: FinancialIncomeStatement FinancialIncomeStatement RefId GenerationDate GenerationTime LocationInfoRefId Period StartDate EndDate Amounts Amount FinancialAccountAccountingPeriodLocationInfoRefId FinancialClassRefId Program SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialIncomeStatement 

This object communicates the income statement details for a location and an accounting period.

 
 
@
key
RefIdM

GUID that identifies this income statement.

 
RefIdType
 GenerationDateM

Generation date.

 
xs:date
 GenerationTimeM

Generation time.

 
xs:time
 LocationInfoRefIdM

LocationInfo reference.

 
IdRefType
 PeriodM

Period of the income statement.

 
 
 Period/StartDateM

Start date.

 
xs:date
 Period/EndDateM

End date.

 
xs:date
 AmountsM List
 Amounts/AmountMR

Amount in the account.

 
MonetaryAmountType
@FinancialAccountAccountingPeriodLocationInfoRefIdM

FinancialAccountAccountingPeriodLocationInfo reference.

 
IdRefType
@FinancialClassRefIdM

Class of the financial account.

 
IdRefType
 ProgramO Program
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.14-1: FinancialIncomeStatement
<FinancialIncomeStatement RefId="E72C08BD41894187BA07B00C1401BE3F"> <GenerationDate>2003-12-31</GenerationDate> <GenerationTime>04:32:23-08:00</GenerationTime> <LocationInfoRefId>FAE352080CC74A3DA815E82FB96F5E15</LocationInfoRefId> <Period> <StartDate>2003-01-01</StartDate> <EndDate>2003-03-31</EndDate> </Period> <Amounts> <Amount FinancialAccountAccountingPeriodLocationInfoRefId="B595A5959A8F43448DF0F5C635CD0E1D" FinancialClassRefId="7582E711FDEE468686CBE623A7C31743" Currency="USD">99999999.99</Amount> <Amount FinancialAccountAccountingPeriodLocationInfoRefId="DE0E6B3C73F6413AA9C1EFCCA57B356B" FinancialClassRefId="7582E711FDEE468686CBE623A7C31743" Currency="USD">99999999.99</Amount> </Amounts> <Program Type="Foodservice">NSLP</Program> </FinancialIncomeStatement>
Example 6.8.14-1: FinancialIncomeStatement

6.8.15 FinancialTransaction

This object communicates a financial transaction. A transaction can be for the daily food sales revenue account.

SIF_Events are reported for this object.

FinancialTransaction
Figure 6.8.15-1: FinancialTransaction FinancialTransaction RefId TransactionDate TransactionTime Amounts Amount FinancialAccountAccountingPeriodLocationInfoRefId Type Program Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FinancialTransaction 

This object communicates a financial transaction. A transaction can be for the daily food sales revenue account.

 
 
@
key
RefIdM

GUID that identifies this financial transaction.

 
RefIdType
 TransactionDateM

Transaction date.

 
xs:date
 TransactionTimeM

Transaction time.

 
xs:time
 AmountsM List
 Amounts/AmountMR

Monetary amount of the transaction.

 
MonetaryAmountType
@FinancialAccountAccountingPeriodLocationInfoRefIdM

Account.

 
IdRefType
@TypeM values:
Debit
Credit
 ProgramO Program
 DescriptionO xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.15-1: FinancialTransaction
<FinancialTransaction RefId="E72C08BD41894187BA07B00C1401BE3F"> <TransactionDate>2003-01-01</TransactionDate> <TransactionTime>04:32:23-08:00</TransactionTime> <Amounts> <Amount FinancialAccountAccountingPeriodLocationInfoRefId="B595A5959A8F43448DF0F5C635CD0E1D" Type="Debit" Currency="USD">99999.99</Amount> <Amount FinancialAccountAccountingPeriodLocationInfoRefId="AFC675959A8F43448DF036C5F5CD0DE1" Type="Credit" Currency="USD">99999.99</Amount> </Amounts> <Program Type="Foodservice">NSLP</Program> </FinancialTransaction>
Example 6.8.15-1: FinancialTransaction

6.8.16 FiscalYear

This object defines a fiscal year.

SIF_Events are reported for this object.

FiscalYear
Figure 6.8.16-1: FiscalYear FiscalYear RefId Description StartDate EndDate SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 FiscalYear 

This object defines a fiscal year.

 
 
@
key
RefIdM

GUID that identifies this object.

 
RefIdType
 DescriptionO

A description of the fiscal year.

 
xs:string
 StartDateM

Start date of the fiscal year.

 
xs:date
 EndDateM

End date of the fiscal year.

 
xs:date
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.16-1: FiscalYear
<FiscalYear RefId="C0C65853B3B4440AED4E575C7BF9DCD2"> <Description>Fiscal Year 2003</Description> <StartDate>2003-01-01</StartDate> <EndDate>2003-12-31</EndDate> </FiscalYear>
Example 6.8.16-1: FiscalYear

6.8.17 LocationInfo

LocationInfo represents a location in a district.

SIF_Events are reported for this object.

LocationInfo
Figure 6.8.17-1: LocationInfo LocationInfo RefId LocationType SiteCategory Name Description LocalId IdentificationInfoList StateProvinceId NCESId LEAInfoRefId OtherLEAs LEAInfoRefId ParentLocationInfo SIF_RefObject SchoolInfoRefId AddressList PhoneNumberList SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LocationInfo 

LocationInfo represents a location in a district.

 
 
@
key
RefIdM

The SIF unique identifier for the location.

 
RefIdType
@LocationTypeM

Defines whether the location is a school or a non-school location.

 
values:
School
NonSchool
 SiteCategoryM

Specific site category.

Examples
Prep Site
Satellite
Central Kitchen
Warehouse
Storage
Central Office
Other

xs:normalizedString
 NameM

Text name of the location

 
xs:normalizedString
 DescriptionO

Description about the location.

 
xs:string
 LocalIdM

The locally-assigned identifier for this location.

 
LocalId
 IdentificationInfoListO IdentificationInfoList
 StateProvinceIdO

The state-assigned identifier for this location.

 
StateProvinceId
 NCESIdO

The NCES-assigned identifier for this location.

 
NCESId
 LEAInfoRefIdO

The ID (GUID) that identifies the district.

 
IdRefType
 OtherLEAsO List
 OtherLEAs/LEAInfoRefIdOR

The ID (GUID) of an other related education agency, such as a regional service agency.

 
IdRefType
 ParentLocationInfoO

A LocationInfo instance could be related to another LocationInfo. This element will help create that relation.

 
IdRefType
@SIF_RefObjectM

The name of the object referenced.

 
values:
LocationInfo
 SchoolInfoRefIdO

The RefId of a corresponding SchoolInfo object.

 
IdRefType
 AddressListO

This element has the LocationInfo address information.

 
AddressList
 PhoneNumberListO

The location's phone numbers.

 
PhoneNumberList
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.17-1: LocationInfo
<LocationInfo RefId="D3E34B359D75101A8C3D00AA001A1652" LocationType="School"> <SiteCategory>Other</SiteCategory> <Name>Lincoln High School</Name> <LocalId>2343LHS</LocalId> <LEAInfoRefId>73648462888624AA5294BC6380173276</LEAInfoRefId> <OtherLEAs> <LEAInfoRefId>AA648462888624AA5294BC638017320B</LEAInfoRefId> </OtherLEAs> </LocationInfo>
Example 6.8.17-1: LocationInfo

6.8.18 Payment

This object complements the Billing object, and contains information about the payment of a Billing object.

SIF_Events are reported for this object.

Payment
Figure 6.8.18-1: Payment Payment RefId BillingRefId ReceivedDate ReceivedAmount ReceivedTransactionId TransactionDescription SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Payment 

This object complements the Billing object, and contains information about the payment of a Billing object.

 
 
@
key
RefIdM

GUID for this transaction. The application that owns this object is responsible for generating this unique ID.

 
RefIdType
@BillingRefIdM

A pointer back to the Billing object.

 
IdRefType
 ReceivedDateM

Date payment was received.

 
xs:date
 ReceivedAmountM

Amount received.

 
MonetaryAmountType
 ReceivedTransactionIdM

Memo transaction ID from other vendor software.

 
xs:normalizedString
 TransactionDescriptionO

Description of the transaction.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.18-1: Payment
<Payment RefId="EDF4985ABC3458FEDA75493AB3812345" BillingRefId="CA12345847DEA97463FEB238759FD123"> <ReceivedDate>1999-10-20</ReceivedDate> <ReceivedAmount Currency="USD">50.00</ReceivedAmount> <ReceivedTransactionId>010523</ReceivedTransactionId> </Payment>
Example 6.8.18-1: Payment

6.8.19 Purchasing

This object provides information down to the line item level for requisitions and purchase orders.

SIF_Events are reported for this object.

Purchasing
Figure 6.8.19-1: Purchasing Purchasing RefId FormType FormNumber FiscalYearRefId VendorInfoRefId LocationInfoRefId EmployeePersonalRefId PurchasingItems PurchasingItem ItemNumber ItemDescription Quantity UnitCost ExpenseAccounts ExpenseAccount AccountCode Amount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Purchasing 

This object provides information down to the line item level for requisitions and purchase orders.

 
 
@
key
RefIdM

Transaction GUID for this purchasing activity. The application that owns this object and is responsible for generating this unique ID.

 
RefIdType
 FormTypeM

Type of purchasing document.

 
values:
PO
Purchase order
REQ
Requisition
 FormNumberM

Requisition or PO number.

 
xs:normalizedString
 FiscalYearRefIdO

Reference to fiscal year for the transaction.

 
IdRefType
 VendorInfoRefIdC

This object references the VendorInfo object and should be considered mandatory when FormType="PO"

 
IdRefType
 LocationInfoRefIdO

The building ID for this purchasing activity.

 
IdRefType
 EmployeePersonalRefIdO

The employee ID for the originator of this purchasing activity.

 
IdRefType
 PurchasingItemsM List
 PurchasingItems/PurchasingItem
     
MR

Contains information about the item being purchased.

 
 
 PurchasingItems/PurchasingItem/
     ItemNumber
O

Vendor item number.

 
xs:normalizedString
 PurchasingItems/PurchasingItem/
     ItemDescription
M

Description of the item.

 
xs:string
 PurchasingItems/PurchasingItem/
     Quantity
O

Quantity ordered.

 
xs:normalizedString
 PurchasingItems/PurchasingItem/
     UnitCost
O

Unit cost of the item.

 
MonetaryAmountType
 PurchasingItems/PurchasingItem/
     ExpenseAccounts
O List
 PurchasingItems/PurchasingItem/
     ExpenseAccounts/ExpenseAccount
     
OR

Account that is to be charged for the item.

 
 
 PurchasingItems/PurchasingItem/
     ExpenseAccounts/ExpenseAccount/
     AccountCode
M

Account code charged to this item.

 
xs:token
 PurchasingItems/PurchasingItem/
     ExpenseAccounts/ExpenseAccount/
     Amount
M

Amount charged to this account.

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.19-1: Purchasing
<Purchasing RefId="ED12345FDA8497275BC28AA349DD3721"> <FormType>PO</FormType> <FormNumber>00342</FormNumber> <FiscalYearRefId>7A892874BC2389749876AE29873498A8</FiscalYearRefId> <VendorInfoRefId>BD12345FDA8497275BC28AA349DD3723</VendorInfoRefId> <LocationInfoRefId>ED12345FDA8497275BC28AA349DD3722</LocationInfoRefId> <EmployeePersonalRefId>AD12345FDA8497275BC28AA349DD3721</EmployeePersonalRefId> <PurchasingItems> <PurchasingItem> <ItemNumber>154486</ItemNumber> <ItemDescription>Floor Wax</ItemDescription> <Quantity>10</Quantity> <UnitCost Currency="USD">7.00</UnitCost> <ExpenseAccounts> <ExpenseAccount> <AccountCode>10-1100-610</AccountCode> <Amount Currency="USD">70.00</Amount> </ExpenseAccount> </ExpenseAccounts> </PurchasingItem> </PurchasingItems> </Purchasing>
Example 6.8.19-1: Purchasing

6.8.20 TimeWorked

This object contains information about the time worked by an employee on a specific job.

SIF_Events are reported for this object.

TimeWorked
Figure 6.8.20-1: TimeWorked TimeWorked RefId EmployeePersonalRefId LocationInfoRefId JobFunction Code OtherCodeList RegularHours OvertimeHours PayPeriod SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 TimeWorked 

This object contains information about the time worked by an employee on a specific job.

 
 
@
key
RefIdM

GUID for this object. The application that owns this object is responsible for generating this unique ID.

 
RefIdType
 EmployeePersonalRefIdM

References associated EmployeePersonal object.

 
IdRefType
 LocationInfoRefIdM

Site where employee actually worked. References LocationInfo object.

 
IdRefType
 JobFunctionO

The purpose of the activities as related to students.

 
 
 JobFunction/CodeM

Code representing the type of job function.

 
NCES0568FunctionTypeType
 JobFunction/OtherCodeList
     
O OtherCodeList
 RegularHoursM

Regular hours worked. Enter 0 if no hours worked.

 
xs:decimal
 OvertimeHoursM

Overtime hours worked. Enter 0 if no overtime hours worked.

 
xs:decimal
 PayPeriodM

Pay period hours were worked in.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.20-1: TimeWorked
<TimeWorked RefId="CCD1254884EE54687FF4567DACD34653"> <EmployeePersonalRefId>FACD1254884EE54687FF4567DACD3465</EmployeePersonalRefId> <LocationInfoRefId>FFD1254884EE54687FF4567DACD34653</LocationInfoRefId> <JobFunction> <Code>1000</Code> </JobFunction> <RegularHours>8</RegularHours> <OvertimeHours>2</OvertimeHours> <PayPeriod>20</PayPeriod> </TimeWorked>
Example 6.8.20-1: TimeWorked

6.8.21 VendorInfo

This object contains basic vendor information.

SIF_Events are reported for this object.

VendorInfo
Figure 6.8.21-1: VendorInfo VendorInfo RefId Name ContactInfo CustomerId EmployeePersonalRefId Send1099 FederalTaxId Code SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 VendorInfo 

This object contains basic vendor information.

 
 
@
key
RefIdM

Vendor ID.

 
RefIdType
 NameM

Name of the vendor.

 
xs:normalizedString
 ContactInfoO

Contact information.

 
ContactInfo
 CustomerIdO

Account number or other ID.

 
xs:normalizedString
 EmployeePersonalRefIdO

When the vendor and employee are the same, it may be appropriate to link the EmployeePersonal records to the VendorInfo when tracking expense and tuition reimbursement. This is the GUID of the associated EmployeePersonal object.

 
IdRefType
 Send1099O

Send 1099 to this vendor.

 
xs:boolean
 FederalTaxIdO

Taxpayer identification number/Federal tax ID for this vendor.

 
xs:normalizedString
@CodeM

The type tax ID that this is. TIN based on IRS Publication 1915 [IRSTIN].

 
values:
EIN
SSNO
ITIN
ATIN
OTHER
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.21-1: VendorInfo
<VendorInfo RefId="AB3647C568654CF45678DD34EF564E22"> <Name>ABC School Supply</Name> <ContactInfo> <Name Type="04"> <LastName>Brown</LastName> <FirstName>James</FirstName> </Name> <Address Type="0123"> <Street> <Line1>23 E. 43rd St.</Line1> </Street> <City>Chicago</City> <County>Cook</County> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60611</PostalCode> </Address> <EmailList> <Email Type="Primary">jdr@ABC.com</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> <CustomerId>0023556</CustomerId> <Send1099>true</Send1099> <FederalTaxId Code="EIN">5640232536</FederalTaxId> </VendorInfo>
Example 6.8.21-1: VendorInfo

6.8.22 W4

This object contains the information completed on a W4 tax form. (Please note that this object is defined to represent the current deductions allowances for the employee; this is not intended to circumvent or replace IRS reporting standards but to faciliatate movement of W4 data from system to system within the LEA.)

SIF_Events are reported for this object.

W4
Figure 6.8.22-1: W4 W4 EmployeePersonalRefId W4Date MaritalStatusRate FederalAllowancesNumber StateAllowancesNumber StateProvince Exempt SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 W4 

This object contains the information completed on a W4 tax form. (Please note that this object is defined to represent the current deductions allowances for the employee; this is not intended to circumvent or replace IRS reporting standards but to faciliatate movement of W4 data from system to system within the LEA.)

 
 
@
key
EmployeePersonalRefIdM

This is the GUID that points to the employee represented in the EmployeePersonal object.

 
IdRefType
 W4DateM

Date W4 was completed.

 
xs:date
 MaritalStatusRateM

This denotes the current martial status of the employee

 
values:
Married
Single
MarriedSingleRate
 FederalAllowancesNumberM

Number of federal allowances.

 
xs:unsignedInt
 StateAllowancesNumberO

Number of state allowances.

 
xs:unsignedInt
 StateProvinceM

State of residence.

 
StateProvince
 ExemptM

Is this employee exempt from federal and state exemptions?

 
xs:boolean
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.8.22-1: W4
<W4 EmployeePersonalRefId="DD5906EFD512EFDA253764EDA5897321"> <W4Date>1998-12-01</W4Date> <MaritalStatusRate>Married</MaritalStatusRate> <FederalAllowancesNumber>5</FederalAllowancesNumber> <StateAllowancesNumber>3</StateAllowancesNumber> <StateProvince>NY</StateProvince> <Exempt>true</Exempt> </W4>
Example 6.8.22-1: W4

6.9 Infrastructure Working Group

In addition to SIF messages and strictly infrastructure-related objects like SIF_ZoneStatus, the Infrastructure Working Group occasionally defines data model objects that either do not fall neatly within the purview of currently existing data model working groups (e.g. the Authentication object) or that can be provided by the ZIS and agents alike—typically metadata about a zone as opposed to data directly originating from the K-12 instructional and administrative environment (e.g. SIF_LogEntry).

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

6.9.1 Authentication

The Authentication object allows a system that stores usernames and/or passwords to share them with other applications through SIF. The provider of the Authentication object may only support providing a username or a password, or it may support both.

The Authentication object is also able to transmit a user's network identity through SIF. If the user has an account in a network directory system that supports LDAP, the user's distinguishedName or username is shared to uniquely identify the user to applications that support LDAP or native network authentication options.

Details of how to implement the password element are included below the object definition.

SIF_Events are reported for this object.

Authentication
Figure 6.9.1-1: Authentication Authentication RefId SIF_RefId SIF_RefObject AuthenticationInfo System Type Username DistinguishedName PasswordList Password Algorithm KeyName SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Authentication 

The Authentication object allows a system that stores usernames and/or passwords to share them with other applications through SIF. The provider of the Authentication object may only support providing a username or a password, or it may support both.

The Authentication object is also able to transmit a user's network identity through SIF. If the user has an account in a network directory system that supports LDAP, the user's distinguishedName or username is shared to uniquely identify the user to applications that support LDAP or native network authentication options.

 
 
@
key
RefIdM

The SIF RefId that uniquely identifies this authentication object.

 
RefIdType
@SIF_RefIdM

The SIF RefId of a student or staff member

 
IdRefType
@SIF_RefObjectM

The type of SIF object that the SIF_RefId attribute identifies.

 
values:
StudentPersonal
StaffPersonal
StudentContact
EmployeePersonal
 AuthenticationInfoM

The authentication information for one system.

 
 
 AuthenticationInfo/System
     
M

An identifying string for the system that supports this authentication information.

 
xs:normalizedString
xs:maxLength255
@TypeM

Specific type of user identification.

 
values:
Network
Application
 AuthenticationInfo/Username
     
O

The identification string for this user.

 
xs:normalizedString
xs:maxLength64
 AuthenticationInfo/DistinguishedName
     
O

This is the distinguished name of the user in a network directory system.

 
xs:normalizedString
xs:maxLength255
 AuthenticationInfo/PasswordList
     
O

Allows a provider or publisher to specify the same password using multiple algorithms, if supported.

 
List
 AuthenticationInfo/PasswordList/
     Password
MR

A representation of the user's password using the given algorithm.

 
xs:base64Binary
xs:maxLength255
@AlgorithmM

The method used to encrypt the user's password. See the implementation details below.

 
values:
base64
MD5
SHA1
DES
TripleDES
RC2
AES
RSA
@KeyNameM

The name of the key to be used for decryption of the password. Left blank for plain, encoded text (Algorithm attribute value of "base64") and hash algorithms.

 
xs:normalizedString
xs:maxLength64
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.9.1-1: Authentication

6.9.1.1 Password Implementation Details

While Authentication objects transported over SIF HTTPS are typically secure in transit, SIF objects are often stored in logs and databases. If the network infrastructure is not secure, the passwords could be subject to snooping from system users. Because of this, the design of the Authentication object requires that passwords never be transmitted in plain text, to prevent casual viewing. The design of this object allows passwords to be securely encrypted using a variety of encryption algorithms.

Passwords in the Authentication object can be shared in one of three ways as documented in the sections below.

6.9.1.1.1 Encoded Text

Sharing a password using encoded text is a very insecure method, because it uses a well-known algorithm and the value is not encrypted. The only merit of using this method is that the password is not readable as plain text, and thus deters any casual attempt to read a password. To share passwords in this manner, the following steps must be followed:

  1. The publishing agent creates a Password element with the algorithm set to base64.
  2. The agent encodes the Unicode representation of the password using the UTF-8 encoding.
  3. The resulting binary value is then base64 encoded.
  4. Write the result as the payload of the Password element.
6.9.1.1.2 Hashed Text

Sharing a hashed text version of a password means that the original password is not shared. Clear text passwords are not retrievable from values stored as hashes. These hashed values can only be used to verify passwords input by a user.

What is shared is a cryptographically secure hash of the password. This hash allows other applications to verify a user's password when s/he logs in by comparing the hash value, not the original password. To share passwords in this manner, the following steps must be followed:

  1. The publishing agent creates a Password element with the algorithm set to MD5 or SHA1.
  2. The agent encodes the Unicode representation of the password using the UTF-8 encoding.
  3. Hash the resulting binary value with the chosen hash algorithm.
  4. Encode the binary result using base64 encoding.
  5. Write the result as the payload of the Password element.
6.9.1.1.3 Encrypted Text

Sharing a password using encrypted text can be very secure. The key being used to encrypt the data should be known only to the applications. The KeyName attribute is used to allow agents to uniquely identify keys that are being used. To share passwords in this manner, the following steps must be followed:

  1. The publishing agent creates a Password element with the algorithm set to DES, TripleDES, RC2, or AES.
  2. The agent encodes the Unicode representation of the password using the UTF-8 encoding.
  3. Generate a cryptographically secure Initialization Vector (IV).
  4. Configure the encryption algorithm to use a cipher mode of CBC.
  5. Configure the encryption algorithm to use a block size of 64 bits (8 bytes).
  6. Configure the encryption algorithm to use the generated IV.
  7. Configure the encryption algorithm to use the specified key for encryption.
  8. Configure the encryption algorithm to use PKCS#7/PKCS#5 padding mode.
  9. Encrypt the binary representation of the password that was generated in step 2.
  10. Encode the binary result using base64 encoding.
  11. Write the result as the payload of the Password element.
6.9.1.1.3.1 Example Keys

The XML in the Authentication example can be used to verify an agent's implementation of any of the published algorithms. The password being shared for the sake of the example is ¿sècrèt. High-Unicode characters are being used in this example to validate proper encoding. The actual Unicode characters are: U+00BF, U+0073, U+00E8, U+0063, U+0072, U+00E8, U+0074.

The encryption keys being used are as follows (in base 64 format)

Key NameKey (in base64 format)
64-BIT_KEYdW7SKzwdn0Q=
128-BIT_KEYTcdilmUZ6qvbmegl2it2pA==
192-BIT_KEYmECbXMo+fOMWRwam7tyUEE59jbO9O0Z4

NOTE: Real-world implementations of password sharing should use keys other than the ones used for this documentation. These keys are provided for example's sake only. Keys should be generated using a secure cryptographic key generator.

<Authentication RefId="4286194F43ED43C18EE2F0A27C4BEF86" SIF_RefId="23B08571E4D645C3B82A3E52E5349925" SIF_RefObject="StudentPersonal"> <AuthenticationInfo> <System Type="Network">NetworkSystem</System> <Username>User01</Username> <DistinguishedName>cn=User01, cn=Users, dc=sifinfo, dc=org</DistinguishedName> <PasswordList> <Password Algorithm="SHA1" KeyName="SHA1">1zKHIKRoPb3y0gZLJnFhQspdevg=</Password> <Password Algorithm="MD5" KeyName="MD5">IwErjiNuanYLAmyFwyulPg==</Password> <Password Algorithm="base64" KeyName="BASE64">wr9zw6hjcsOodA==</Password> <Password Algorithm="DES" KeyName="64-BIT_KEY">6XSjrzAgkrd41Nzb61w5vwuqzKsQbybL</Password> <Password Algorithm="RC2" KeyName="128-BIT_KEY">jqCzWFS38Xs7tx7v2ksa01TrFhBnixI8</Password> <Password Algorithm="TripleDES" KeyName="192-BIT_KEY">msf17ucBbhN44uJpXTGGfI3twSR/cS/u</Password> </PasswordList> </AuthenticationInfo> </Authentication>
Example 6.9.1-1: Authentication

6.9.2 SIF_LogEntry

This object captures an occurrence within a SIF node (ZIS or agent)—error, warning or information—for storage in an optionally provided zone log. SIF_LogEntry Adds are reported and are used to post new log entries to the provider of the log. Of course, subscribing agents may also filter incoming Adds as part of their own logging mechanism. Any Change or Delete SIF_Events should be ignored at the agent level, but should be routed by the ZIS (though this should not be necessary). Use of the log is optional and voluntary, except where noted as mandatory in this specification. Nodes may post as much or as little log data as required with the expectation that if there is a provider of SIF_LogEntry that the logged entries be available for a provider-defined amount of time subject to provider-defined restrictions on the quantity of data logged by any given node.

SIF_Events are reported for this object.

SIF_LogEntry
Figure 6.9.2-1: SIF_LogEntry SIF_LogEntry Source LogLevel SIF_LogEntryHeader SIF_Header SIF_OriginalHeader SIF_Header SIF_Category SIF_Code SIF_ApplicationCode SIF_Desc SIF_ExtendedDesc SIF_LogObjects SIF_LogObject ObjectName SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SIF_LogEntry 

This object captures an occurrence within a SIF node (ZIS or agent)—error, warning or information—for storage in an optionally provided zone log. SIF_LogEntry Adds are reported and are used to post new log entries to the provider of the log. Of course, subscribing agents may also filter incoming Adds as part of their own logging mechanism. Any Change or Delete SIF_Events should be ignored at the agent level, but should be routed by the ZIS (though this should not be necessary). Use of the log is optional and voluntary, except where noted as mandatory in this specification. Nodes may post as much or as little log data as required with the expectation that if there is a provider of SIF_LogEntry that the logged entries be available for a provider-defined amount of time subject to provider-defined restrictions on the quantity of data logged by any given node.

 
 
@SourceM

The SIF node that logged this entry.

 
values:
Agent
ZIS
@LogLevelM

The level of the log entry herein described.

 
values:
Info
Warning
Error
 SIF_LogEntryHeaderM

This is a copy of the SIF_Event/SIF_Header in the message that added this SIF_LogEntry to the zone. This copy facilitates querying log entries with regard to source, time, optionally destination, etc.

 
 
 SIF_LogEntryHeader/SIF_Header
     
M SIF_Header
 SIF_OriginalHeaderO

If this log entry references a previous SIF_Message, this element contains a copy of the referenced message's SIF_Header.

 
 
 SIF_OriginalHeader/SIF_Header
     
M SIF_Header
 SIF_CategoryC

A SIF_LogEntry category. May be omitted for informational-type postings, where typically a textual description will suffice.

Note that categories may be combined with the Source attribute of SIF_LogEntry to differentiate agent error conditions from ZIS error conditions.

 
values:
1
Success
2
Data Issues with Success Result
3
Data Issues with Failure Result
4
Error Conditions
 SIF_CodeO

A SIF_LogEntry code with regard to SIF_Category above. May be omitted for informational-type postings, where typically a textual description will suffice. If a SIF_Code is included, SIF_Category must be included as well.

 
union of:

SIF_LogEntrySuccessCategoryType
SIF_LogEntryDataIssuesWithSuccessResultType
SIF_LogEntryDataIssuesWithFailureResultType
SIF_LogEntryAgentErrorConditionType
SIF_LogEntryZISErrorConditionType
 SIF_ApplicationCodeO

An error code specific to the application posting the entry. Can be used by vendors to query log entries for errors specific to their applications. If a SIF_ApplicationCode is included, SIF_Category must be included as well; i.e., application-specific error codes should fall within one of the defined log entry categories.

 
xs:normalizedString
xs:maxLength64
 SIF_DescM

A textual description of the error.

 
xs:string
xs:maxLength1024
 SIF_ExtendedDescO

Any extended error description.

 
xs:string
 SIF_LogObjectsO List
 SIF_LogObjects/SIF_LogObject
     
MR

Any SIF data objects to which this log entry may apply.

 
SIF_ResponseObjectType
@ObjectNameM

The name of the SIF object referenced (e.g. StudentPersonal).

 
SIF_RequestObjectNamesType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.9.2-1: SIF_LogEntry
<SIF_LogEntry Source="Agent" LogLevel="Error"> <SIF_LogEntryHeader> <SIF_Header> <SIF_MsgId>83252CE5C5F14FD88607F645224E4CAA</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:36:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseySISAgent</SIF_SourceId> </SIF_Header> </SIF_LogEntryHeader> <SIF_Category>4</SIF_Category> <SIF_Code>1</SIF_Code> <SIF_Desc>Agent has run out of memory and will shut down</SIF_Desc> <SIF_ExtendedDesc>OutOfMemoryException: ...</SIF_ExtendedDesc> </SIF_LogEntry>
Example 6.9.2-1: SIF_LogEntry when an agent encounters a system failure
<SIF_LogEntry Source="Agent" LogLevel="Error"> <SIF_LogEntryHeader> <SIF_Header> <SIF_MsgId>BA86894B795A4EB7A45093AD1CDBA54C</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:39:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseySISAgent</SIF_SourceId> </SIF_Header> </SIF_LogEntryHeader> <SIF_OriginalHeader> <SIF_Header> <SIF_MsgId>74234DCB460A4BCB8937B07467EA73CC</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:29:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseyLibraryAgent</SIF_SourceId> </SIF_Header> </SIF_OriginalHeader> <SIF_Category>3</SIF_Category> <SIF_Code>2</SIF_Code> <SIF_ApplicationCode>-33</SIF_ApplicationCode> <SIF_Desc>Could not delete student John Smith due to business rule</SIF_Desc> <SIF_LogObjects> <SIF_LogObject ObjectName="StudentPersonal"> <StudentPersonal RefId="76D3A70232FE40D7A5D43A7A317EAEF9"> <AlertMessages> <AlertMessage Type="Legal">This is the Legal Alert for Joe Student</AlertMessage> </AlertMessages> <LocalId>P00001</LocalId> <StateProvinceId>WB0025</StateProvinceId> <ElectronicIdList> <ElectronicId Type="Barcode">206654</ElectronicId> </ElectronicIdList> <Name Type="04"> <LastName>Student</LastName> <FirstName>Joe</FirstName> <MiddleName /> <PreferredName>Joe</PreferredName> </Name> <Demographics> <Gender>M</Gender> </Demographics> <AddressList> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">Joe.Student@anyschool.com</Email> </EmailList> <OnTimeGraduationYear>2007</OnTimeGraduationYear> </StudentPersonal> </SIF_LogObject> </SIF_LogObjects> </SIF_LogEntry>
Example 6.9.2-2: SIF_LogEntry when an agent fails to delete a student
<SIF_LogEntry Source="Agent" LogLevel="Info"> <SIF_LogEntryHeader> <SIF_Header> <SIF_MsgId>64B0CC6CFB314A328E520A102229CBC8</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:46:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseySISAgent</SIF_SourceId> </SIF_Header> </SIF_LogEntryHeader> <SIF_Desc>Agent starting synchronization</SIF_Desc> </SIF_LogEntry>
Example 6.9.2-3: SIF_LogEntry when an agent starts synchronizing data
<SIF_LogEntry Source="ZIS" LogLevel="Error"> <SIF_LogEntryHeader> <SIF_Header> <SIF_MsgId>BC1D982CEC5F49D998169930FE5B271C</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:49:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseyZIS</SIF_SourceId> </SIF_Header> </SIF_LogEntryHeader> <SIF_OriginalHeader> <SIF_Header> <SIF_MsgId>74234DCB460A4BCB8937B07467EA73CC</SIF_MsgId> <SIF_Timestamp>2006-08-19T10:29:00-05:00</SIF_Timestamp> <SIF_SourceId>RamseyLibraryAgent</SIF_SourceId> </SIF_Header> </SIF_OriginalHeader> <SIF_Category>4</SIF_Category> <SIF_Code>2</SIF_Code> <SIF_Desc>Could not deliver StudentPicture Add to RamseyLibraryAgent (127,546 bytes) due to maximum buffer size of 16,384 bytes.</SIF_Desc> </SIF_LogEntry>
Example 6.9.2-4: SIF_LogEntry when a ZIS fails to deliver a message due to buffer size limitations

6.10 Instructional Services Task Force

The goal of Instructional Services Task Force is to create, design and advocate a set of specifications that feature data objects which will advance interoperability standards of information needed in instruction and educational service delivery in the classroom and instructional settings.

6.10.1 Activity

The work assigned to students, an educational event planned by a teacher to deliver a particular educational concept or skill.

SIF_Events are reported for this object.

Activity
Figure 6.10.1-1: Activity Activity RefId xml:lang TechnicalRequirements TechnicalRequirement EssentialMaterials EssentialMaterial Title Preamble LearningObjectives LearningObjective LearningStandards LearningStandardItemRefId SubjectArea Prerequisites Prerequisite Students StudentPersonalRefId SourceObjects SourceObject SIF_RefObject Points ActivityTime CreationDate Duration Units StartDate FinishDate DueDate AssessmentRefId MaxAttemptsAllowed ActivityWeight Evaluation EvaluationType Description LearningResources LearningResourceRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Activity 

The work assigned to students, an educational event planned by a teacher to deliver a particular educational concept or skill.

 
 
@
key
RefIdM RefIdType
@xml:langM

The default language of the text used for the content in the Assessment.

 
 
 TechnicalRequirementsO

Applications, OS, and network requirements for activity if applicable.

 
List
 TechnicalRequirements/TechnicalRequirement
     
OR

Applications, OS, or network requirement for activity.

 
xs:string
 EssentialMaterialsO

Essential materials required to engage in this activity.

 
List
 EssentialMaterials/EssentialMaterial
     
OR

Essential material required to engage in this activity.

 
xs:string
 TitleO

Descriptive name of the activity.

 
xs:normalizedString
 PreambleO

Description and context for the activity.

 
xs:string
 LearningObjectivesO

Educational objectives of the activity.

 
List
 LearningObjectives/LearningObjective
     
OR

Description of an educational objective of the activity.

 
xs:string
 LearningStandardsO

Associated LearningStandardItem objects.

 
List
 LearningStandards/LearningStandardItemRefId
     
OR

Link from activity to associated LearningStandardItem object.

 
IdRefType
 SubjectAreaO SubjectArea
 PrerequisitesO

Skills or competencies the student must have to engage in activity.

 
List
 Prerequisites/Prerequisite
     
OR

Skill or competency the student must have to engage in activity.

 
xs:string
 StudentsO

Links to any students or group or category of students that this activity is for.

 
List
 Students/StudentPersonalRefId
     
OR

Link to a student.

 
IdRefType
 SourceObjectsO

Source objects assigned to students.

 
List
 SourceObjects/SourceObject
     
OR

GUID assigned to the source object.

 
IdRefType
@SIF_RefObjectM

The type of learning object the source object is.

 
values:
Assessment
LearningResource
Activity
Lesson
 PointsO

Number of possible points for an activity.

 
xs:unsignedInt
 ActivityTimeM

Time structures for the activity.

 
 
 ActivityTime/CreationDate
     
M

Creation date of the activity.

 
xs:date
 ActivityTime/DurationO

Time required to complete the activity.

 
xs:unsignedInt
@UnitsM

Unit of time of the Duration value. 

 
values:
week
day
hour
minute
second
 ActivityTime/StartDateO

Date activity is started.

 
xs:date
 ActivityTime/FinishDateO

Date activity is finished.

 
xs:date
 ActivityTime/DueDateO

Date activity is due.

 
xs:date
 AssessmentRefIdO

Link to the SIF Assessment object containing the evaluation information for this activity.

 
IdRefType
 MaxAttemptsAllowedO

How many tries allowed.

 
xs:unsignedInt
 ActivityWeightO

The percentage weight of the activity during the particular course or term.

 
xs:decimal
 EvaluationO

Field for non-numeric types of grading and evaluation such as "narrative."

 
 
@EvaluationTypeM

A qualifer for what type of evaluation this is. Valid values are "Inline" and "RefId". Inline values are contained in the optional Description element, RefIds are contained in the AssessmentRefId element.

 
values:
Inline
RefId
 Evaluation/DescriptionO

A free text description of the evaluation to be used for this activity

 
xs:string
 LearningResourcesO

Learning resources that support this activity.

 
List
 LearningResources/LearningResourceRefId
     
OR

A GUID reference to a SIF LearningResource object that supports this activity

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.1-1: Activity
<Activity RefId="C27E1FCFC163485FBEF0F36F18A0493A" xml:lang="en"> <Title>Shakespeare Essay - Much Ado About Nothing</Title> <Preamble>This is a very funny comedy - students should have passing familiarity with Shakespeare</Preamble> <LearningStandards> <LearningStandardItemRefId>9DB15CEAB2C54F6694C37D0A0CAEDDA4</LearningStandardItemRefId> </LearningStandards> <SourceObjects> <SourceObject SIF_RefObject="Lesson">A71ADBD3D93DA64B7166E420D50EDABC</SourceObject> </SourceObjects> <Points>50</Points> <ActivityTime> <CreationDate>2002-06-15</CreationDate> <Duration Units="minute">30</Duration> <StartDate>2002-09-10</StartDate> <FinishDate>2002-09-12</FinishDate> <DueDate>2002-09-12</DueDate> </ActivityTime> <AssessmentRefId>03EDB29E8116B4500435FA87E42A0AD2</AssessmentRefId> <MaxAttemptsAllowed>3</MaxAttemptsAllowed> <ActivityWeight>5</ActivityWeight> <Evaluation EvaluationType="Inline"> <Description>Students should be able to correctly identify all major characters.</Description> </Evaluation> <LearningResources> <LearningResourceRefId>B7337698BF6DB1937F79A07B87211B93</LearningResourceRefId> </LearningResources> </Activity>
Example 6.10.1-1: Activity

6.10.2 Assignment

The work assigned to a student, which can comprise of learning resources, activities, and assessments. It must have a student and a time attached to it.

SIF_Events are reported for this object.

Assignment
Figure 6.10.2-1: Assignment Assignment RefId xml:lang Students StudentPersonalRefId StaffPersonalRefId TechnicalRequirements TechnicalRequirement EssentialMaterials EssentialMaterial Title Preamble LearningObjectives LearningObjective LearningStandards LearningStandardItemRefId Prerequisites Prerequisite SourceObjects SourceObject SIF_RefObject AssignmentTime CreationDate Duration Units StartDate StartTime DueDate DueTime AdministrationDate MaxAttemptsAllowed AddToGradeBookFlag SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Assignment 

The work assigned to a student, which can comprise of learning resources, activities, and assessments. It must have a student and a time attached to it.

 
 
@
key
RefIdM

GUID assigned to assignment.

 
RefIdType
@xml:langM

The default language used in the assignment object.

 
 
 StudentsM

Students given this assignment.

 
List
 Students/StudentPersonalRefId
     
MR

GUID assigned to the student.

 
IdRefType
 StaffPersonalRefIdO

GUID assigned to the educator who gave the assignment.

 
IdRefType
 TechnicalRequirementsO

Applications, OS, and network requirements for activity if applicable.

 
List
 TechnicalRequirements/TechnicalRequirement
     
OR

Applications, OS, or network requirement for activity.

 
xs:string
 EssentialMaterialsO

Essential materials required to engage in the assignment.

 
List
 EssentialMaterials/EssentialMaterial
     
OR

Essential material required to engage in the assignment.

 
xs:string
 TitleO

Descriptive name of the assignment.

 
xs:normalizedString
 PreambleO

Description and context for the assignment.

 
xs:string
 LearningObjectivesO

Educational objectives of the assignment.

 
List
 LearningObjectives/LearningObjective
     
OR

Description of an educational objective of the assignment.

 
xs:string
 LearningStandardsO

Associated LearningStandardItem objects.

 
List
 LearningStandards/LearningStandardItemRefId
     
OR

Link from assignment to an associated LearningStandardItem object.

 
IdRefType
 PrerequisitesO

Skills or competencies the student must have to engage in assignment.

 
List
 Prerequisites/Prerequisite
     
OR

Skill or competency the student must have to engage in assignment.

 
xs:string
 SourceObjectsO

Source objects assigned to students.

 
List
 SourceObjects/SourceObject
     
OR

GUID assigned to the source object. The source object is the "thing" being assigned to a student.

 
IdRefType
@SIF_RefObjectM

The type of learning object the source object is. 

 
values:
Assessment
LearningResource
Activity
Lesson
 AssignmentTimeM

Time structures for the assignment.

 
 
 AssignmentTime/CreationDate
     
O

Creation date of the assignment

 
xs:date
 AssignmentTime/DurationO

Time required to complete the assignment.

 
xs:decimal
@UnitsM

Unit of time of the Duration value.

 
values:
week
day
hour
minute
second
 AssignmentTime/StartDateM

Date assignment is started.

 
xs:date
 AssignmentTime/StartTimeO

Time assignment is started.

 
xs:time
 AssignmentTime/DueDateM

Date assignment is due.

 
xs:date
 AssignmentTime/DueTimeO

Time assignment is due.

 
xs:time
 AssignmentTime/AdministrationDate
     
O

Date that the assignment was administered to student if an assessment.

 
xs:date
 MaxAttemptsAllowedO

The number attempts a student may make on this assignment. Assumed to be unlimited if omitted.

 
xs:unsignedInt
 AddToGradeBookFlagO

Flag to prompt grade book processing.

 
xs:boolean
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.2-1: Assignment
<Assignment RefId="DE072A87EFAD4B778AF9FAF83C94839E" xml:lang="en"> <Students> <StudentPersonalRefId>687FE59529E5FDB6A0949FDD8E12ACC3</StudentPersonalRefId> </Students> <StaffPersonalRefId>994FE59529E5FDB6A0949FDD8E12ACC3</StaffPersonalRefId> <TechnicalRequirements> <TechnicalRequirement>Internet Explorer 5.5 or greater</TechnicalRequirement> </TechnicalRequirements> <EssentialMaterials> <EssentialMaterial>LCD Projector</EssentialMaterial> </EssentialMaterials> <Title>The Painting of the Titanic: An Artistic Disaster</Title> <Preamble>Just how badly CAN the students paint? This assignment will help determine this.</Preamble> <SourceObjects> <SourceObject SIF_RefObject="Assessment">C2AC666132E946D9828B506A851FC3F5</SourceObject> </SourceObjects> <AssignmentTime> <Duration Units="minute">30</Duration> <StartDate>2003-02-26</StartDate> <DueDate>2003-02-26</DueDate> <AdministrationDate>2003-02-26</AdministrationDate> </AssignmentTime> <MaxAttemptsAllowed>1</MaxAttemptsAllowed> <AddToGradeBookFlag>true</AddToGradeBookFlag> </Assignment>
Example 6.10.2-1: Assignment

6.10.3 CurriculumStructure

An object designed to contain instructional objects such as units, lessons, activities, and assessments—or other containers—joined together under a particular topic and/or duration.

SIF_Events are reported for this object.

CurriculumStructure
Figure 6.10.3-1: CurriculumStructure CurriculumStructure RefId xml:lang Titles Title Description SubjectArea CurriculumHierarchyLevel Number Name Description PredecessorObjects CurriculumStructureRefId LearningObjectives LearningObjective ComponentObjects ComponentObject SIF_RefObject LearningStandards LearningStandardItemRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 CurriculumStructure 

An object designed to contain instructional objects such as units, lessons, activities, and assessments—or other containers—joined together under a particular topic and/or duration.

 
 
@
key
RefIdM

GUID for this particular object.

 
RefIdType
@xml:langM

The default language of the text used for the content in object

 
 
 TitlesM List
 Titles/TitleMR

Name of this type of curriculum object (e.g., "American Revolutionary War")

 
xs:normalizedString
 DescriptionO

Description of this curriculum object

 
xs:string
 SubjectAreaO SubjectArea
 CurriculumHierarchyLevelM

Describes the position of this object in the curriculum hierarchy.

 
 
 CurriculumHierarchyLevel/
     Number
M

Integer assigned to each hierarchical level within the CurriculumStructure tree. The top level is 1.

 
xs:unsignedInt
 CurriculumHierarchyLevel/
     Name
M

Used to describe what role this is serving in the structure. Some curriculum objects describe their levels in terms of programs of study, courses and units. Others use other terms. This attribute names the level of the item.

 
xs:normalizedString
 CurriculumHierarchyLevel/
     Description
M

Used to describe what role this is serving in the structure. Some curriculum objects describe their levels in terms of programs of study, courses and units. Others use other terms.

 
xs:string
 PredecessorObjectsO

CurriculumStructure objects directly above this one in the hierarchy tree. These are repeatable because a single object can have multiple parent levels in the hierarcy.

 
List
 PredecessorObjects/CurriculumStructureRefId
     
OR

GUID assigned to the CurriculumStructure object directly above it in the hierarchy tree.

 
IdRefType
 LearningObjectivesO

Learning objectives for this object.

 
List
 LearningObjectives/LearningObjective
     
OR

Narrative description of a learning objective.

 
xs:string
 ComponentObjectsO

Component objects, if any, that make up this object.

 
List
 ComponentObjects/ComponentObject
     
OR

A GUID reference to a component object.

 
IdRefType
@SIF_RefObjectM

The type of learning object being referenced.

 
values:
CurriculumStructure
Lesson
Activity
Assessment
LearningResource
 LearningStandardsO

Associated learning standards.

 
List
 LearningStandards/LearningStandardItemRefId
     
OR

GUID of an associated LearningStandardItem object

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.3-1: CurriculumStructure
<CurriculumStructure RefId="B364631190F169CD8E3DF2BA2537EC8B" xml:lang="en"> <Titles> <Title>Cellular Concepts</Title> </Titles> <Description>Reviews basic concepts in Cellular Biology</Description> <SubjectArea> <Code>03</Code> <OtherCodeList> <OtherCode Codeset="Text">Life and Physical Sciences</OtherCode> </OtherCodeList> </SubjectArea> <CurriculumHierarchyLevel> <Number>4</Number> <Name>Unit</Name> <Description>http://www.compasslearning.com/hierarchy004</Description> </CurriculumHierarchyLevel> <PredecessorObjects> <CurriculumStructureRefId>3DD3294A068EC899EE586A6FEFFCF0EB</CurriculumStructureRefId> </PredecessorObjects> <LearningObjectives> <LearningObjective>Teach students about the basics of cellular structure and lifecycle.</LearningObjective> </LearningObjectives> <ComponentObjects> <ComponentObject SIF_RefObject="Lesson">3DD3294A068EC899EE586A6FEFFCF0EB</ComponentObject> <ComponentObject SIF_RefObject="Lesson">8838B02258673F0094E5B426E59C26BC</ComponentObject> <ComponentObject SIF_RefObject="Lesson">D41D8CD98F00B204E9800998ECF8427E</ComponentObject> <ComponentObject SIF_RefObject="Lesson">DC3076B304B838BF11AF723DD7D4AED7</ComponentObject> </ComponentObjects> <LearningStandards> <LearningStandardItemRefId>141216334645D859E2CA255B1C3BBD91</LearningStandardItemRefId> </LearningStandards> </CurriculumStructure>
Example 6.10.3-1: CurriculumStructure

6.10.4 LearningResource

This object contains information related to learning resources that may be used in educational settings. These include textbooks, Internet content, educational software, videos and DVDs, supplemental print material, etc.

SIF_Events are reported for this object.

LearningResource
Figure 6.10.4-1: LearningResource LearningResource RefId xml:lang Name Author Contacts Contact Name Address PhoneNumber Email Location ReferenceType Status Description GradeLevels SubjectAreas SubjectArea MediaTypes MediaType UseAgreement AgreementDate Approvals Approval Organization Date Evaluations Evaluation RefId Description Date Name Components Component Name Reference Description Strategies Strategy AssociatedObjects AssociatedObject SIF_RefObject LearningStandards LearningStandardItemRefId LearningResourcePackageRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LearningResource 

This object contains information related to learning resources that may be used in educational settings. These include textbooks, Internet content, educational software, videos and DVDs, supplemental print material, etc.

 
 
@
key
RefIdM

GUID assigned to this LearningResource.

 
RefIdType
@xml:langM

The default language used in the LearningResource object.

 
 
 NameM

Name of learning resource.

 
xs:normalizedString
 AuthorO

Name of organization or company that created the resource.

 
xs:normalizedString
 ContactsO

Contains contact information about resource authors.

 
List
 Contacts/ContactOR

Contains contact information about a resource author.

 
 
 Contacts/Contact/NameO

Name of contact person. Use the generic element Name.

 
Name
 Contacts/Contact/AddressO

Address of organization or company.

 
Address
 Contacts/Contact/PhoneNumber
     
O

Phone number of organization or company.

 
PhoneNumber
 Contacts/Contact/EmailO

The email of the organization or company.

 
Email
 LocationO

Description of location of resource, i.e. location in library or URL, community resource, outside resource supplier.

 
xs:string
@ReferenceTypeM

A qualifying attribute for the Location payload. If ReferenceType is "URI", the payload contains a web address where the resource can be found.

 
xs:token
 StatusO

Describes availability status of resource, e.g. "checked out."

 
xs:normalizedString
 DescriptionO

Description of the resource, e.g., "This textbook is intended for grade 4 social studies students and addresses..."

 
xs:string
 GradeLevelsO GradeLevels
 SubjectAreasO List
 SubjectAreas/SubjectAreaOR SubjectArea
 MediaTypesO

Resource media types.

 
List
 MediaTypes/MediaTypeOR

MIME type [MIME] based on IANA registration (see RFC2048) or 'non-digital'.

 
xs:token
 UseAgreementO

Describes terms of use for resource.

 
xs:string
 AgreementDateO

A date that defines the date of agreement.

 
xs:date
 ApprovalsO

Authorizations to use this resource. For example, this resource may be included as part of the district's standard curriculum model.

 
List
 Approvals/ApprovalOR

A sub-element containing an authorization to use this resource. For example, this resource may be included as part of the district's standard curriculum model.

 
 
 Approvals/Approval/Organization
     
M

Name of agency that approved use of resource.

 
xs:normalizedString
 Approvals/Approval/DateM

Date resource was approved.

 
xs:date
 EvaluationsO

Evaluations/review of the resource.

 
List
 Evaluations/EvaluationOR

Evaluation/review of resource.

 
 
@RefIdM

GUID assigned to an evaluation.

 
RefIdType
 Evaluations/Evaluation/Description
     
O

Description of evaluation of resource.

 
xs:string
 Evaluations/Evaluation/Date
     
O

Date evaluation was performed

 
xs:date
 Evaluations/Evaluation/Name
     
O

Name of individual who submitted evaluation.

 
Name
 ComponentsM

Lesson or activity-sized portions of a resource.

 
List
 Components/ComponentMR

A lesson or activity-sized portion of a resource.

 
 
 Components/Component/Name
     
M

Name of learning resource component within the resource, i.e. "Chapter 1, Section 4.

 
xs:normalizedString
 Components/Component/Reference
     
M

Description of where ResourceComponent is located within resource or in general, i.e. "Section 4, pages 32-38," or URL string, or whatever locator is appropriate for media.

 
xs:string
 Components/Component/Description
     
O

Description of ResourceComponent, i.e. "Discover how changing the scale of a map can either increase or decrease the level of detail you see."

 
xs:string
 Components/Component/Strategies
     
O

Teaching/learning strategies used in the learning resource.

 
List
 Components/Component/Strategies/
     Strategy
OR

Teaching/learning strategy used in the learning resource. One per element.

 
xs:string
 Components/Component/AssociatedObjects
     
O

References from component to associated elements within another SIF object.

 
List
 Components/Component/AssociatedObjects/
     AssociatedObject
OR

Reference from component to associated elements within another SIF object.

 
IdRefType
@SIF_RefObjectM

Attribute that identifies the type of SIF object being referenced.

 
ObjectNameType
 LearningStandardsO

References to LearningStandardItems.

 
List
 LearningStandards/LearningStandardItemRefId
     
OR

Reference to a LearningStandardItem.

 
IdRefType
 LearningResourcePackageRefIdO

Reference to a LearningResourcePackage, a transport envelope for teaching and learning object files.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.4-1: LearningResource
<LearningResource RefId="6938D88F82A37EFD88892429EC6AB1B5" xml:lang="en"> <Name>A World of Words (Teacher Reference Sheet)</Name> <Author>The Kennedy Center Arts Edge</Author> <Contacts> <Contact> <Address Type="0123"> <Street> <Line1>The John F. Kennedy Center for the Performing Arts</Line1> <Line2>2700 F Street, NW</Line2> <StreetNumber>2700</StreetNumber> <StreetName>F</StreetName> <StreetType>Street</StreetType> <StreetSuffix>NW</StreetSuffix> </Street> <City>Washington</City> <County>Cook</County> <StateProvince>DC</StateProvince> <Country>US</Country> <PostalCode>20566</PostalCode> </Address> <PhoneNumber Type="0096"> <Number>(555) 555-1234</Number> </PhoneNumber> <Email Type="Primary">info@kennedy-center.org</Email> </Contact> </Contacts> <Location ReferenceType="URI">http://www.artsedge.kennedy-Center.org/teaching_materials/curricula/curric/86_u_dreams/489_words.pdf</Location> <Status>Available</Status> <Description>Teacher Reference Sheet</Description> <GradeLevels> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> <SubjectAreas> <SubjectArea> <Code>01</Code> <OtherCodeList> <OtherCode Codeset="Text">English Language and Literature</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreas> <MediaTypes> <MediaType>x-application/pdf</MediaType> </MediaTypes> <UseAgreement>see http://www.artsedge.kennedycenter.org/teaching_materials/using/artsedge.html for the user aggreement</UseAgreement> <AgreementDate>2002-06-05</AgreementDate> <Approvals> <Approval> <Organization>Our District Local Schools, Office of Curriculum and Planning</Organization> <Date>2002-03-15</Date> </Approval> </Approvals> <Evaluations> <Evaluation RefId="F1BC63DFD02CCED654EF558E84904E01"> <Description>This resource addresses Washington State EALRs</Description> <Date>2001-06-15</Date> <Name Type="02"> <LastName>Doe</LastName> <FirstName>Joan</FirstName> </Name> </Evaluation> </Evaluations> <Components> <Component> <Name>Vocabulary</Name> <Reference>http://www.artsedge.kennedycenter.org/teaching_materials/curricula/curric/86_u_dreams/489_vocab.html</Reference> <Description> Students learn about social contexts such as nationality, culture, etc. </Description> <Strategies> <Strategy>Inquiry</Strategy> </Strategies> <AssociatedObjects> <AssociatedObject SIF_RefObject="Lesson">667A87E21B4B9470CE61568576DF921E</AssociatedObject> </AssociatedObjects> </Component> </Components> <LearningStandards> <LearningStandardItemRefId>D56D76D40F0B96916DA4CA2E230494E8</LearningStandardItemRefId> <LearningStandardItemRefId>DBCE64060B47E555A64AF7FCE6C1A4A9</LearningStandardItemRefId> </LearningStandards> <LearningResourcePackageRefId>6D254047C5E542CBB7921D03ED3BD894</LearningResourcePackageRefId> </LearningResource>
Example 6.10.4-1: LearningResource

6.10.5 LearningResourcePackage

Many instructional applications in a SIF zone need to share teaching and learning objects. Curriculum planning applications, content repositories, learning management systems, etc.—all of these systems need to share instructional content utilizing the LearningResource object.

The LearningResourcePackage object provides a transport envelope to move these files across the SIF zone.

SIF_Events are not reported for this object.

LearningResourcePackage
Figure 6.10.5-1: LearningResourcePackage LearningResourcePackage
 Element/@AttributeCharDescriptionType
 LearningResourcePackage A wrapper for any external learning content to be transmitted across a SIF Zone. AbstractContentPackageType
Table 6.10.5-1: LearningResourcePackage
<LearningResourcePackage RefId="C7DE86685968459FBF9FED22A0E1EA6E"> <BinaryData MIMEType="text/html;charset=utf-16">...</BinaryData> </LearningResourcePackage>
Example 6.10.5-1: LearningResourcePackage

6.10.6 LearningStandardDocument

A curriculum standards document or the like published by a national, state, district, school site, professional association or other interested party. The LearningStandardDocument reflects an expectation of student work.

SIF_Events are reported for this object.

LearningStandardDocument
Figure 6.10.6-1: LearningStandardDocument LearningStandardDocument RefId xml:lang Title Description Source Organizations Organization Authors Author OrganizationContactPoint SubjectAreas SubjectArea DocumentStatus DocumentDate LocalAdoptionDate LocalArchiveDate EndOfLifeDate Copyright Date Holder GradeLevels RepositoryDate LearningStandardItemRefId RelatedLearningStandards LearningStandardDocumentRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LearningStandardDocument 

A curriculum standards document or the like published by a national, state, district, school site, professional association or other interested party. The LearningStandardDocument reflects an expectation of student work.

 
 
@
key
RefIdM

ID for the standards document

 
RefIdType
@xml:langM

The default language of the text used for the content in the learning standard document.

 
 
 TitleM

Name of standard document, i.e., "Washington Essential Academic Learning Requirements."

 
xs:normalizedString
 DescriptionO

Description of the standards document.

 
xs:string
 SourceM

Defines source of standard document. This is the descriptive type of the organization listed in Organization. It serves to describe the type of the standards contained within the document.

 
values:
National
State
Regional
District
Site
Classroom
 OrganizationsM List
 Organizations/Organization
     
MR

Name of organization represented by the document, i.e., "National Council of Teachers of Mathematics (NCTM)," "Washington," "Seattle School District."

 
xs:normalizedString
 AuthorsO List
 Authors/AuthorOR

Name of the organization that authored the standards document, i.e. "Mid-Continent Research for Education & Learning (McREL)." May be the same as "Organization" above.

 
xs:normalizedString
 OrganizationContactPointO

A brief description of how to contact the organization maintaining the standards. It could be a phone number, email address, or URL.

 
xs:string
 SubjectAreasM List
 SubjectAreas/SubjectAreaMR SubjectArea
 DocumentStatusM values:
Draft
Adopted
Archived
Unknown
 DocumentDateO

The date the current status was achieved.

 
xs:date
 LocalAdoptionDateO

The date the local organization adopted this standard document

 
xs:date
 LocalArchiveDateO

The date the local organization stopped using this standard document and superseded by a new document.

 
xs:date
 EndOfLifeDateO

This is the date that the governing organization retired this document. 

 
xs:date
 CopyrightO

Copyright for document.

 
 
 Copyright/DateC

Copyright date

 
xs:date
 Copyright/HolderC

Name of the copyright holder

 
xs:normalizedString
 GradeLevelsO

SIF common GradeLevels element

 
GradeLevels
 RepositoryDateO

Date document data was added to the repository

 
xs:date
 LearningStandardItemRefIdM

Link to the first/top LearningStandardItem in the standard hierarchy

 
IdRefType
 RelatedLearningStandardsO List
 RelatedLearningStandards/
     LearningStandardDocumentRefId
     
OR

Links to related LearningStandardDocument

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.6-1: LearningStandardDocument
<LearningStandardDocument RefId="A5A575C789175101B8E7F08ED123A823" xml:lang="en"> <Title>Washington Essential Academic Learning Requirements</Title> <Description>This document addresses high school English Language Arts</Description> <Source>State</Source> <Organizations> <Organization>State of Washington</Organization> </Organizations> <Authors> <Author>McREL</Author> </Authors> <OrganizationContactPoint>http://www.mcrel.org</OrganizationContactPoint> <SubjectAreas> <SubjectArea> <Code>01</Code> <OtherCodeList> <OtherCode Codeset="Text">English Language and Literature</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreas> <DocumentStatus>Adopted</DocumentStatus> <DocumentDate>2001-04-15</DocumentDate> <LocalAdoptionDate>2002-01-06</LocalAdoptionDate> <EndOfLifeDate>2003-04-15</EndOfLifeDate> <Copyright> <Date>2001-02-05</Date> <Holder>State of Washington</Holder> </Copyright> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> <RepositoryDate>2001-04-15</RepositoryDate> <LearningStandardItemRefId>B7D26D789139214A8C7F08EA123A8234</LearningStandardItemRefId> <RelatedLearningStandards> <LearningStandardDocumentRefId>B216162FC98D202E62A64D53C991A25A</LearningStandardDocumentRefId> </RelatedLearningStandards> </LearningStandardDocument>
Example 6.10.6-1: LearningStandardDocument

6.10.7 LearningStandardItem

This object contains information related to curriculum standards statements "standards" or "benchmarks" or the like within the document. This object primarily focuses upon state department curriculum standards, published curriculum standards and local education agency learning standards. Each LearningStandardItem reflects an individual standard statement and may occur at several levels within a hierarchially structured document.

SIF_Events are reported for this object.

LearningStandardItem
Figure 6.10.7-1: LearningStandardItem LearningStandardItem RefId xml:lang StandardSettingBody Country StateProvince NCESId SettingBodyName StandardHierarchyLevel Number Description PredecessorItems LearningStandardItemRefId StatementCodes StatementCode Statements Statement GradeLevels SubjectArea StandardIdentifier YearCreated SubjectArea StandardNumber GradeLevels Benchmark GradeLevel IndicatorNumber AlternateIdentificationCodes AlternateIdentificationCode Organization LearningStandardDocumentRefId RelatedLearningStandardItems LearningStandardItemRefId RelationshipType SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LearningStandardItem  This object contains information related to curriculum standards statements "standards" or "benchmarks" or the like within the document. This object primarily focuses upon state department curriculum standards, published curriculum standards and local education agency learning standards. Each LearningStandardItem reflects an individual standard statement and may occur at several levels within a hierarchially structured document.   
@
key
RefIdM

GUID assigned to each statement at each level within the document hierarchy

 
RefIdType
@xml:langM

The default language of the text used for the content in the LearningStandardItem.

 
 
 StandardSettingBodyO

The name of the state or organization that authored and manages updates to the standards document (i.e., NCTM, Ohio Department of Education).

 
 
 StandardSettingBody/Country
     
M Country
 StandardSettingBody/StateProvince
     
O StateProvince
 StandardSettingBody/NCESId
     
O NCESId
 StandardSettingBody/SettingBodyName
     
O

This is the text version of the organization's name.

 
xs:normalizedString
 StandardHierarchyLevelM

Description of hierarchical level within standards tree.

 
 
 StandardHierarchyLevel/Number
     
M

Integer assigned to each hierarchical level within standards tree. The top level is "1".

 
xs:unsignedInt
 StandardHierarchyLevel/Description
     
M

Used to describe what role this item is serving in the structure. Some standards describe their levels in terms of standard, strands, and topics. Others use standards, benchmarks, and indicators. This attribute names the level of the item.

 
xs:string
 PredecessorItemsO List
 PredecessorItems/LearningStandardItemRefId
     
OR

GUID assigned to the LearningStandardItem directly above it in the hierarchy tree. This is a repeatable element because a single granular item may relate to multiple parent levels of the hierarchy.

If the object has no parent, the ParentRefId should be the same as the object's RefId. The RefId in LearningStandardDocumentRefId will always point to the parent's LearningStandardDocument object.

 
IdRefType
 StatementCodesO List
 StatementCodes/StatementCode
     
OR

An alphanumeric ID code as defined by the organization to identify the statement.

 
xs:token
 StatementsO List
 Statements/StatementMR

The text of the "standard," or "benchmark."

 
xs:string
 GradeLevelsM GradeLevels
 SubjectAreaO SubjectArea
 StandardIdentifierO

This element describes the unique identifier for each LearningStandard.

 
 
 StandardIdentifier/YearCreated
     
M

This represents the year that this specific learning standard was created. This is important to indicate as standards are updated to reflect the appropriate year it was created. This would be assigned and unique to the standard setting body.

 
xs:gYear
 StandardIdentifier/SubjectArea
     
M

This represents the subject or content area this learning standard addresses. This would be assigned and unique to the standard setting body.\

 
SubjectArea
 StandardIdentifier/StandardNumber
     
M

This is the specific number of the standard. For example, if the subject is mathematics and this standard is Patterns, Functions and Algebra, this would be StandardNumber 1. This would be assigned and unique to the standard setting body.

 
xs:normalizedString
 StandardIdentifier/GradeLevels
     
M

This represents the grade level(s) this specific learning standard will address. This may be addressed in different ways. Some states have a grade level that covers several grades and others have just one grade. This would be assigned and unique to the standard setting body.

 
GradeLevels
 StandardIdentifier/Benchmark
     
O

This is the next level within the hierarchy of the learning standard. For example, if the subject is mathematics and the standard is algebra, this would be the next delineation - Represent an unknown quantity as a variable using a symbol, including letters. This would be assigned and unique to the standard setting body.

 
xs:normalizedString
 StandardIdentifier/GradeLevel
     
O

This is the specific grade level. This is to be utilized if the GradeLevel covers several grades. This would be assigned and unique to the standard setting body.

 
GradeLevel
 StandardIdentifier/IndicatorNumber
     
O

This would be the most granular level of the learning standard associated with the grade level. Following the same example, an indicator for Algebra GradeLevel 5-7, the indicator for the benchmark above at 6 grade would be to Evaluate simple expressions by replacing variables with given values, and use formulas in problem-solving situations. This would be assigned and unique to the standard setting body.

 
xs:normalizedString
 StandardIdentifier/AlternateIdentificationCodes
     
O

This element is for an organization to utilize for an internal code. This may be used for an alignment schema or other purposes that are only internal for the organization.

 
List
 StandardIdentifier/AlternateIdentificationCodes/
     AlternateIdentificationCode
     
MR

An alphanumeric ID code as defined by the organization to identify the statement.

 
xs:normalizedString
 StandardIdentifier/Organization
     
M

Name of organization represented by the document, i.e., "National Council of Teachers of Mathematics (NCTM)," "Washington," "Seattle School District." This is the name of the organization that has this AlternateIdentificationCode. This should be a text field.

 
xs:normalizedString
 LearningStandardDocumentRefIdM

The RefId of the item's parent LearningStandardDocument.

 
IdRefType
 RelatedLearningStandardItemsO

Container for external relationships.

 
List
 RelatedLearningStandardItems/
     LearningStandardItemRefId
     
OR

A relationship between the current standard item and another standard item.

 
IdRefType
@RelationshipTypeM

Type of the relationship between the current standard and the target standard. The value identifies the type of standard of the target item. The purpose of this information is to allow applications to sort/display these relationships in the appropriate context.

 
union of:

LearningStandardItemRelationshipTypesType
xs:token
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.7-1: LearningStandardItem
<LearningStandardItem RefId="A5D75F789175101B8C7E08EA123A8234" xml:lang="en"> <StandardSettingBody> <Country>US</Country> <StateProvince>OH</StateProvince> <SettingBodyName>Ohio Department of Education</SettingBodyName> </StandardSettingBody> <StandardHierarchyLevel> <Number>3</Number> <Description>Indicator</Description> </StandardHierarchyLevel> <PredecessorItems> <LearningStandardItemRefId>DE072A87EFAD4B778AF9FAF83C94839E</LearningStandardItemRefId> </PredecessorItems> <StatementCodes> <StatementCode>Mathematics.2.03.a</StatementCode> </StatementCodes> <Statements> <Statement>Counting from 0 to 100 using whole numbers</Statement> </Statements> <GradeLevels> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> <SubjectArea> <Code>52</Code> <OtherCodeList> <OtherCode Codeset="Text">Mathematics</OtherCode> </OtherCodeList> </SubjectArea> <StandardIdentifier> <YearCreated>2003</YearCreated> <SubjectArea> <Code>02</Code> <OtherCodeList> <OtherCode Codeset="Text">Mathematics</OtherCode> </OtherCodeList> </SubjectArea> <StandardNumber>04</StandardNumber> <GradeLevels> <GradeLevel> <Code>05</Code> </GradeLevel> <GradeLevel> <Code>06</Code> </GradeLevel> <GradeLevel> <Code>07</Code> </GradeLevel> </GradeLevels> <Benchmark>C</Benchmark> <GradeLevel> <Code>06</Code> </GradeLevel> <IndicatorNumber>06</IndicatorNumber> <Organization>National Council of Teachers of Mathematics (NCTM)</Organization> </StandardIdentifier> <LearningStandardDocumentRefId>8454189F6BBC26C6B97DDB4B6D0E3AC8</LearningStandardDocumentRefId> <RelatedLearningStandardItems> <LearningStandardItemRefId RelationshipType="Content">869670E8540A43509515AFB767FADD9A</LearningStandardItemRefId> <LearningStandardItemRefId RelationshipType="State">B14FDAB437CA4565A9765A5B824545C4</LearningStandardItemRefId> <LearningStandardItemRefId RelationshipType="PD">D5440A11F5A44AC1920261ECBE5A29F6</LearningStandardItemRefId> </RelatedLearningStandardItems> </LearningStandardItem>
Example 6.10.7-1: LearningStandardItem

6.10.8 Lesson

A series of Activities and LearningResources tied together under a particular topic or period of time to deliver a particular educational concept or skill.

SIF_Events are reported for this object.

Lesson
Figure 6.10.8-1: Lesson Lesson RefId xml:lang SourceObjects SourceObject SIF_RefObject CurriculumStructures CurriculumStructureRefId SubjectArea Title Duration Units Description Procedure Strategies Strategy LearningObjectives LearningObjective SupportingActivities ActivityRefId LearningStandards LearningStandardItemRefId LearningResources LearningResourceRefId LessonSources LessonSource Author Name Organization Address Email SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 Lesson 

A series of Activities and LearningResources tied together under a particular topic or period of time to deliver a particular educational concept or skill.

 
 
@
key
RefIdM RefIdType
@xml:langM

The default language of the text used for the content in the Lesson.

 
 
 SourceObjectsO List
 SourceObjects/SourceObject
     
OR

Reference to the source object.

 
IdRefType
@SIF_RefObjectM

The type of learning object being referred to.

 
values:
Assessment
LearningResource
Activity
Lesson
 CurriculumStructuresO List
 CurriculumStructures/CurriculumStructureRefId
     
OR

A GUID reference to the parent CurriculumStructure object of this Lesson.

 
IdRefType
 SubjectAreaO SubjectArea
 TitleM

Name of lesson.

 
xs:normalizedString
 DurationO

Desired duration of the lesson

 
xs:unsignedInt
@UnitsM

Unit of time of the Duration value.

 
values:
week
day
hour
minute
second
 DescriptionO

Description of the lesson plan.

 
xs:string
 ProcedureO

Text field to describe how to use and implement the lesson.

 
xs:string
 StrategiesO List
 Strategies/StrategyOR

Teaching strategy used in this lesson plan.

 
xs:normalizedString
 LearningObjectivesO List
 LearningObjectives/LearningObjective
     
OR

Description of learning objective(s) for this lesson, i.e., "Student will be able to use Pythagorean Theorem."—equates to 'benchmark' or 'goal' or other terminology

 
xs:string
 SupportingActivitiesO List
 SupportingActivities/ActivityRefId
     
OR

Links to Activity objects that may support the lesson

 
IdRefType
 LearningStandardsO List
 LearningStandards/LearningStandardItemRefId
     
OR

Link to an associated LearningStandardItem. This allows for a single Lesson to be aligned to multiple standard statements.

 
IdRefType
 LearningResourcesO List
 LearningResources/LearningResourceRefId
     
OR

Link to an aligned LearningResource object.

 
IdRefType
 LessonSourcesO List
 LessonSources/LessonSource
     
OR

One or more sources for the lesson. This describes the lesson's origin.

 
 
 LessonSources/LessonSource/
     Author
OR

For each source, the authors of the source.

 
 
 LessonSources/LessonSource/
     Author/Name
O

Name of the author.

 
Name
 LessonSources/LessonSource/
     Author/Organization
O

Organization name.

 
xs:normalizedString
 LessonSources/LessonSource/
     Author/Address
O

Address of the author.

 
Address
 LessonSources/LessonSource/
     Author/Email
O

Email address of the author.

 
Email
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.10.8-1: Lesson
<Lesson RefId="6A6151B83273F352228C6411D0F09218" xml:lang="en"> <SourceObjects> <SourceObject SIF_RefObject="Assessment">538A805BCFA442AFBC30BA300309F5B1</SourceObject> </SourceObjects> <CurriculumStructures> <CurriculumStructureRefId>7301432402827BAA27A48A3374F774D7</CurriculumStructureRefId> </CurriculumStructures> <SubjectArea> <Code>02</Code> <OtherCodeList> <OtherCode Codeset="Text">Principals of Algebra and Geometry</OtherCode> </OtherCodeList> </SubjectArea> <Title>Spatial Relations</Title> <Duration Units="minute">85</Duration> <Description>Fundamentals of Plane Geometry: Right angle triangles and the Pythagorean Theorem</Description> <Procedure>This lesson should only be done outside in a non-flammable area.</Procedure> <Strategies> <Strategy>Group Participation</Strategy> </Strategies> <LearningObjectives> <LearningObjective>Student will be able to use Pythagorean Theorem to calculate the perimeter of a triangle.</LearningObjective> </LearningObjectives> <SupportingActivities> <ActivityRefId>A41FAAC3081441E1E5591B7A76A3E543</ActivityRefId> <ActivityRefId>D6B804025B22FB58C8F5DB44B36B8CB3</ActivityRefId> </SupportingActivities> <LearningStandards> <LearningStandardItemRefId>2CB2A0EB86A9C174E883CD1F316DAECD</LearningStandardItemRefId> </LearningStandards> <LearningResources> <LearningResourceRefId>6CACAFE29BEC1941D8348612DDDBEA13</LearningResourceRefId> <LearningResourceRefId>DB7AAD3B2610D2AF8F5A131F203FE7CF</LearningResourceRefId> <LearningResourceRefId>2975C9FE99B559F3D75D78750444C979</LearningResourceRefId> </LearningResources> <LessonSources> <LessonSource> <Author> <Name Type="02"> <Prefix>Mr.</Prefix> <LastName>Woodall</LastName> <FirstName>Charles</FirstName> <MiddleName>William</MiddleName> <PreferredName>Chuck</PreferredName> </Name> <Organization>NCTM</Organization> <Address Type="0123"> <Street> <Line1>1 IBM Plaza</Line1> <Line2>Suite 2000</Line2> <StreetNumber>1</StreetNumber> <StreetName>IBM</StreetName> <StreetType>Plaza</StreetType> <ApartmentType>Suite</ApartmentType> <ApartmentNumber>2000</ApartmentNumber> </Street> <City>Chicago</City> <County>Cook</County> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60611</PostalCode> </Address> <Email Type="Primary">chuckw@imginc.com</Email> </Author> </LessonSource> </LessonSources> </Lesson>
Example 6.10.8-1: Lesson

6.11 Library Automation Working Group

The Library Automation Working Group provides the library automation entities necessary to effectively exchange relevant data via the framework.

6.11.1 LibraryPatronStatus

This object reports the current library status for the requested student or staff member. The minimum data that the object will return will be the patron's ElectronicId, the total number of materials that are checked out and overdue, and the number and amount of any fines that have been assessed to the patron. When a patron has materials that have been checked out, requested, or are overdue, the object will contain a Transaction element describing the details of the transaction. Likewise, any fines that have an outstanding balance will also have a Transaction element for the fine.

When a checked out item is returned to the library, it will not appear in the object, even if the item was overdue. Fines that have an outstanding balance will be reported, but when the fine is paid, it will not appear in the object.

SIF_Events are not reported for this object.

LibraryPatronStatus
Figure 6.11.1-1: LibraryPatronStatus LibraryPatronStatus LibraryType SIF_RefId SIF_RefObject ElectronicIdList TransactionList Transaction ItemInfo Type Title Author ElectronicId CallNumber Price CheckoutInfo ReturnBy FineInfoList FineInfo Type Assessed Description Amount Reference HoldInfoList HoldInfo Type DatePlaced DateNeeded MadeAvailable Expires MessageList Message Priority Sent Text NumberOfCheckouts NumberOfOverdues NumberOfFines FineAmount NumberOfRefunds RefundAmount SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LibraryPatronStatus 

This object reports the current library status for the requested student or staff member.

 
 
@LibraryTypeM

A library-defined language-independent value that refers to a specific patron type.

 
xs:string
@
key
SIF_RefIdM

The SIF wide unique identifier of a student or teacher.

 
IdRefType
@
key
SIF_RefObjectM

The type of patron mapped to a SIF supported object. Library automation products work with patrons who could be students or teachers.

 
values:
StudentPersonal
StaffPersonal
 ElectronicIdListM

List of electronic identifiers associated with the patron.

 
ElectronicIdList
 TransactionListO

List of transactions.

 
List
 TransactionList/Transaction
     
OR

Contains information about library transactions for the referenced student. These include items that are checked out or have fines or holds placed on them.

 
 
 TransactionList/Transaction/
     ItemInfo
O

If this transaction has an item associated with it, this element contains the information about the item. Most Transaction elements will contain this element. However, certain types of fines assessed to the student like "talking in class", "running in library", etc. do not have a corresponding item so that Transaction instance would not contain an ItemInfo.

 
 
@TypeM

Type of item being referenced.

 
values:
Asset
LibraryMaterial
Media
Textbook
 TransactionList/Transaction/
     ItemInfo/Title
M

The title of the item being referenced by this Transaction.

 
xs:string
 TransactionList/Transaction/
     ItemInfo/Author
O

The author of the item being referenced by this Transaction.

 
xs:string
 TransactionList/Transaction/
     ItemInfo/ElectronicId
O

Electronic identifier associated with this Transaction.

This element will not appear if the Transaction contains a HoldInfo for an item where a specific instance of the item hasn't been assigned to fulfill the hold request (i.e. unfulfilled title hold request).

 
ElectronicId
 TransactionList/Transaction/
     ItemInfo/CallNumber
O

The library call number, if any, assigned to this item.

 
xs:string
 TransactionList/Transaction/
     ItemInfo/Price
O

The cost of this item.

 
MonetaryAmountType
 TransactionList/Transaction/
     CheckoutInfo
O

If the item is currently checked out to this person, this element contains the date and time that the item is due to be returned.

 
 
 TransactionList/Transaction/
     CheckoutInfo/ReturnBy
M

The date and time that this item is due to be returned.

 
xs:dateTime
 TransactionList/Transaction/
     FineInfoList
O

List of fines assessed.

 
List
 TransactionList/Transaction/
     FineInfoList/FineInfo
OR

If the item has a fine assessed to this person, this element will contain the information about the fine.

 
 
@TypeM

Type of fine assessed to this patron and item. A corresponding ItemInfo is required for all FineInfo types except "Other" and "Refund" where it is permissible to omit the ItemInfo element if there isn't an item associated with the fine.

 
values:
Damaged
Lost
Overdue
Refund
Other
 TransactionList/Transaction/
     FineInfoList/FineInfo/Assessed
     
M

The date and time that this fine was assessed to the patron.

 
xs:dateTime
 TransactionList/Transaction/
     FineInfoList/FineInfo/Description
     
O

More detailed information concerning the assessed fine or refund.

 
xs:string
 TransactionList/Transaction/
     FineInfoList/FineInfo/Amount
     
M

The current balance of the fine expressed as a positive number.

 
MonetaryAmountType
 TransactionList/Transaction/
     FineInfoList/FineInfo/Reference
     
O

An application-specific reference identifier for the fine being assessed, paid, or refunded. It is intended to identify a specific fine transaction allowing consumers to include this information in Billing or Payment events sent to the library application.

 
xs:string
 TransactionList/Transaction/
     HoldInfoList
O

List of holds placed.

 
List
 TransactionList/Transaction/
     HoldInfoList/HoldInfo
OR

If the item has a hold placed on it by a patron, this element will contain the information about the hold.

 
 
@TypeM

The type of hold being referenced.

 
values:
Ready
(which means that a previously placed hold is ready for the patron to pick up at the library desk)
NotReady
(hold has been placed but hasn't been fulfilled yet)
 TransactionList/Transaction/
     HoldInfoList/HoldInfo/DatePlaced
     
M

The date that the patron placed the hold.

 
xs:date
 TransactionList/Transaction/
     HoldInfoList/HoldInfo/DateNeeded
     
O

The date that the patron needs this item by.

 
xs:date
 TransactionList/Transaction/
     HoldInfoList/HoldInfo/MadeAvailable
     
O

The date that this item became available for the patron to pick up.

 
xs:date
 TransactionList/Transaction/
     HoldInfoList/HoldInfo/Expires
     
O

The date when this ready hold will expire freeing the item to be assigned to another patron.

 
xs:date
 MessageListO

List of messages for/regarding the patron.

 
List
 MessageList/MessageOR  
@PriorityM

The level of urgency associated with this message.

 
values:
Low
Normal
Urgent
 MessageList/Message/SentO

The date and time that this message was originally sent.

 
xs:dateTime
 MessageList/Message/TextM

The contents of the message.

 
xs:string
 NumberOfCheckoutsM

The total number of items that this patron currently has checked out including overdue items.

 
xs:unsignedInt
 NumberOfOverduesM

The total number of checkouts that are currently overdue.

 
xs:unsignedInt
 NumberOfFinesM

The total number of fines currently assessed to this patron.

 
xs:unsignedInt
 FineAmountM

The total monetary amount of the fines that this patron currently owes the library expressed as a positive number.

 
MonetaryAmountType
 NumberOfRefundsO

The total number of refunds currently credited to this patron.

 
xs:unsignedInt
 RefundAmountO

The total monetary amount of the refunds that the library currently owes the patron expressed as a positive number.

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.11.1-1: LibraryPatronStatus
<LibraryPatronStatus LibraryType="S" SIF_RefId="52DBFBFC021311D68E8C00039303AE9C" SIF_RefObject="StudentPersonal"> <ElectronicIdList> <ElectronicId Type="Barcode">P 7676</ElectronicId> <ElectronicId Type="Magstripe">200606300007676JJI</ElectronicId> <ElectronicId Type="PIN">1234</ElectronicId> <ElectronicId Type="RFID">0EF3098055921FEDC008FEEB</ElectronicId> </ElectronicIdList> <TransactionList> <Transaction> <ItemInfo Type="LibraryMaterial"> <Title>Redwall</Title> <Author>Brian Jacques</Author> <ElectronicId Type="Barcode">T 311</ElectronicId> <CallNumber>YA JACQ</CallNumber> <Price Currency="USD">6.99</Price> </ItemInfo> <CheckoutInfo> <ReturnBy>2006-01-04T23:59:59-05:00</ReturnBy> </CheckoutInfo> <FineInfoList> <FineInfo Type="Overdue"> <Assessed>2006-01-06T13:19:00-05:00</Assessed> <Description>ESTIMATED FINE FOR OVERDUE ITEM</Description> <Amount Currency="USD">0.50</Amount> </FineInfo> </FineInfoList> </Transaction> <Transaction> <ItemInfo Type="LibraryMaterial"> <Title>Mossflower</Title> <Author>Brian Jacques</Author> <ElectronicId Type="Barcode">T 1211</ElectronicId> <CallNumber>YA JACQ</CallNumber> <Price Currency="USD">7.49</Price> </ItemInfo> <HoldInfoList> <HoldInfo Type="Ready"> <DatePlaced>2005-12-18</DatePlaced> <DateNeeded>2006-01-16</DateNeeded> <MadeAvailable>2006-01-05</MadeAvailable> <Expires>2006-02-01</Expires> </HoldInfo> </HoldInfoList> </Transaction> <Transaction> <ItemInfo Type="LibraryMaterial"> <Title>The Bellmaker</Title> <Author>Brian Jacques</Author> </ItemInfo> <HoldInfoList> <HoldInfo Type="NotReady"> <DatePlaced>2005-12-18</DatePlaced> </HoldInfo> </HoldInfoList> </Transaction> <Transaction> <ItemInfo Type="Textbook"> <Title>Passport to Algebra and Geometry</Title> <Author>Larson, Boswell, Kanold and Stiff</Author> <ElectronicId Type="Barcode">98770000178215</ElectronicId> <Price Currency="USD">57.18</Price> </ItemInfo> <CheckoutInfo> <ReturnBy>2006-06-15T23:59:59-05:00</ReturnBy> </CheckoutInfo> </Transaction> <Transaction> <ItemInfo Type="LibraryMaterial"> <Title>Harry Potter and the Goblet of Fire</Title> <Author>JK Rowlings</Author> <ElectronicId Type="Barcode">T 99321</ElectronicId> </ItemInfo> <FineInfoList> <FineInfo Type="Refund"> <Assessed>2006-01-02T09:29:00-05:00</Assessed> <Description>Lost item returned</Description> <Amount Currency="USD">28.90</Amount> </FineInfo> </FineInfoList> </Transaction> <Transaction> <FineInfoList> <FineInfo Type="Other"> <Assessed>2006-01-04T10:14:00-05:00</Assessed> <Description>Running in library</Description> <Amount Currency="USD">1.00</Amount> <Reference>42</Reference> </FineInfo> </FineInfoList> </Transaction> </TransactionList> <MessageList> <Message Priority="Normal"> <Text>This is a normal message.</Text> </Message> <Message Priority="Urgent"> <Sent>2006-01-12T14:01:00-05:00</Sent> <Text>This is an URGENT message!</Text> </Message> </MessageList> <NumberOfCheckouts>1</NumberOfCheckouts> <NumberOfOverdues>1</NumberOfOverdues> <NumberOfFines>1</NumberOfFines> <FineAmount Currency="USD">1.00</FineAmount> <NumberOfRefunds>1</NumberOfRefunds> <RefundAmount Currency="USD">28.90</RefundAmount> </LibraryPatronStatus>
Example 6.11.1-1: LibraryPatronStatus

6.12 Professional Development Working Group

The Professional Development Working Group assesses the interoperability needs of state and local education agencies with regard to professional development. This includes:

6.12.1 ActivityProvider

This object contains information about educational providers of professional education courses and activities.

SIF_Events are reported for this object.

ActivityProvider
Figure 6.12.1-1: ActivityProvider ActivityProvider RefId LocalId StateProvinceId Name Address SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ActivityProvider 

This object contains information about educational providers of professional education courses and activities.

 
 
@
key
RefIdM

GUID for this object. The application that owns this object is responsible for generating this unique ID.

 
RefIdType
 LocalIdM

Local code used to represent this provider

 
LocalId
 StateProvinceIdO

State assigned provider number

 
StateProvinceId
 NameM

Name of the provider.

 
xs:normalizedString
 AddressO

This element contains information related to provider's address information.

 
Address
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.1-1: ActivityProvider
<ActivityProvider RefId="FE1078BA3261545A31905937B265CE01"> <LocalId>305.0</LocalId> <StateProvinceId>4580</StateProvinceId> <Name>Sunnyvalley College</Name> <Address Type="0123"> <Street> <Line1>1 Sunnyvalley Lane</Line1> </Street> <City>Sunnyvalley</City> <StateProvince>OR</StateProvince> <Country>US</Country> <PostalCode>97497</PostalCode> </Address> </ActivityProvider>
Example 6.12.1-1: ActivityProvider

6.12.2 EmployeeCredential

This object contains HR, certification and teaching assignment information for elementary and secondary professional personnel for state reporting. It is a snapshot object used for vertical reporting of data related to K-12 elementary and secondary professional employees.

SIF_Events are not reported for this object.

EmployeeCredential
Figure 6.12.2-1: EmployeeCredential EmployeeCredential ReportDate SchoolYear StateProvinceId SSN Name Demographics Race Hispanic Certifications Certification Description AreaAuthorized Salary Status Leave TotalYears UnitYears Education TeachingCredentialType TerminationCode BackgroundChecks BackgroundCheck Type Date Description Assignments Assignment SchoolInfoRefId GradeLevels JobFunction Code OtherCodeList FTE SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeCredential 

This object contains HR, certification and teaching assignment information for elementary and secondary professional personnel for state reporting. It is a snapshot object used for vertical reporting of data related to K-12 elementary and secondary professional employees.

 
 
 ReportDateM

Date that report snapshot was generated

 
xs:date
 SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2004" for the 2003-04 school year).

 
SchoolYear
 StateProvinceIdM

State assigned reporting unit number

 
StateProvinceId
 SSNM

Employee social security number

 
xs:normalizedString
 NameM

Name of employee.

 
Name
 DemographicsO

This element contains information related to employee demographics.

 
Demographics
 RaceM

Primary employee's race

 
NCES0849RaceType
 HispanicO

Is this employee Hispanic or Latino?

 
values:
Yes
No
 CertificationsM

Employee certifications

 
List
 Certifications/Certification
     
MR

Employee certification area information

 
 
 Certifications/Certification/
     Description
M

Certification description as defined by state

 
xs:string
 Certifications/Certification/
     AreaAuthorized
O

Area in which employee has certification

 
NCES0421TeachingFieldOrAreaAuthorizedType
 SalaryM

Employee's salary

 
MonetaryAmountType
 StatusM

Employee professional position status

 
NCES0613EmploymentStatusType
 LeaveM

Is this employee on leave this year?

 
values:
Yes
No
 TotalYearsM

Total number of years employee has been in a professional position

 
xs:decimal
 UnitYearsM

Total number of years at current LEA

 
xs:decimal
 EducationM

Highest level of education attained by employee.

 
NCES0395TeachingCredentialBasisType
 TeachingCredentialTypeOR

Category in which teacher is authorized to teach

 
NCES0394TeachingCredentialTypeType
 TerminationCodeO

If appropriate, employment separation reason

 
NCES0434EmploymentSeparationReasonType
 BackgroundChecksO

List of background checks performed on employee

 
List
 BackgroundChecks/BackgroundCheck
     
OR

Information about background check done on employee

 
 
 BackgroundChecks/BackgroundCheck/
     Type
M

Background check type

 
NCES0401BackgroundCheckTypeType
 BackgroundChecks/BackgroundCheck/
     Date
M

Date on which background type was checked

 
xs:date
 BackgroundChecks/BackgroundCheck/
     Description
O

Description of background check performed

 
xs:string
 AssignmentsM

List of employee assignments to schools

 
List
 Assignments/AssignmentMR

Information about the school and assignment of employee

 
 
 Assignments/Assignment/SchoolInfoRefId
     
M

References SchoolInfo object to determine school in which this assignment pertains.

 
IdRefType
 Assignments/Assignment/GradeLevels
     
M

Grade which is assigned to this employee (e.g. 12)

 
GradeLevels
 Assignments/Assignment/JobFunction
     
O

The purpose of the activity in school as related to students

 
 
 Assignments/Assignment/JobFunction/
     Code
M

Code representing the type of job function.

 
NCES0568FunctionTypeType
 Assignments/Assignment/JobFunction/
     OtherCodeList
O OtherCodeList
 Assignments/Assignment/FTE
     
O

Full-time equivalent for this school

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.2-1: EmployeeCredential
<EmployeeCredential> <ReportDate>2004-01-15</ReportDate> <SchoolYear>2004</SchoolYear> <StateProvinceId>123456</StateProvinceId> <SSN>590651225</SSN> <Name Type="04"> <LastName>Silverberg</LastName> <FirstName>Betty</FirstName> </Name> <Demographics> <Gender>F</Gender> </Demographics> <Race>0998</Race> <Hispanic>No</Hispanic> <Certifications> <Certification> <Description>Secondary Math</Description> <AreaAuthorized>1166</AreaAuthorized> </Certification> </Certifications> <Salary Currency="USD">35000</Salary> <Status>1379</Status> <Leave>No</Leave> <TotalYears>12</TotalYears> <UnitYears>12</UnitYears> <Education>1237</Education> <TeachingCredentialType>1222</TeachingCredentialType> <TerminationCode>1387</TerminationCode> <BackgroundChecks> <BackgroundCheck> <Type>1420</Type> <Date>2004-01-10</Date> <Description>FBI background check</Description> </BackgroundCheck> </BackgroundChecks> <Assignments> <Assignment> <SchoolInfoRefId>72348623487623488AB9827349872349</SchoolInfoRefId> <GradeLevels> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> <JobFunction> <Code>1000</Code> </JobFunction> <FTE>1.0</FTE> </Assignment> </Assignments> </EmployeeCredential>
Example 6.12.2-1: EmployeeCredential

6.12.3 EmployeeCredit

This object contains information about courses and activities taken by employees.

SIF_Events are reported for this object.

EmployeeCredit
Figure 6.12.3-1: EmployeeCredit EmployeeCredit RefId EmployeePersonalRefId ProfessionalDevelopmentActivitiesRefId EndDate Earned Type SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeCredit 

This object contains information about courses and activities taken by employees.

 
 
@
key
RefIdM

This is the GUID for this object.

 
RefIdType
@EmployeePersonalRefIdM

References EmployeePersonal object.

 
IdRefType
@ProfessionalDevelopmentActivitiesRefIdM

References the ProfessionalDevelopmentActivities object

 
IdRefType
 EndDateM

Date in which the course or activity was completed and awarded credit.

 
xs:date
 EarnedM

The number of units earned

 
xs:decimal
@TypeM

The unit description

 
values:
Hours
Credits
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.3-1: EmployeeCredit
<EmployeeCredit RefId="BC2078BA3261545A31905937B265CE01" EmployeePersonalRefId="BE3078BA3261545A31905937B265CE01" ProfessionalDevelopmentActivitiesRefId="FD4078BA3261545A31905937B265CE01"> <EndDate>2003-05-20</EndDate> <Earned Type="Credits">3.4</Earned> </EmployeeCredit>
Example 6.12.3-1: EmployeeCredit

6.12.4 EmployeeRecertification

This object contains information about employee continuing professional course and activity credits and hours taken by employees for recertification purposes. It is used as a vertical reporting snapshot-type object to transmit information regarding professional continuing education courses and activities completed by employees to maintain their current educational certification(s) within a given state.

SIF_Events are not reported for this object.

EmployeeRecertification
Figure 6.12.4-1: EmployeeRecertification EmployeeRecertification StateProvinceId SSN Name Demographics ActivityName ActivityType ActivityHours Earned Type DateFrom DateTo SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 EmployeeRecertification 

This object contains information about employee continuing professional course and activity credits and hours taken by employees for recertification purposes. It is used as a vertical reporting snapshot-type object to transmit information regarding professional continuing education courses and activities completed by employees to maintain their current educational certification(s) within a given state.

 
 
 StateProvinceIdC

The state-assigned identifier for this staff member. This element or SSN, or both, must be included.

 
StateProvinceId
 SSNC

Employee Social Security Number. This element or StateProvinceId, or both, must be included.

 
SSN
 NameM

Name of employee.

 
Name
 DemographicsO

This element contains information related to employee demographics.

 
Demographics
 ActivityNameM

Name of the course or activity

 
xs:normalizedString
 ActivityTypeM

Type of course or activity

 
values:
Course
Activity
Other
 ActivityHoursM

Total activity hours/total clock hours

 
xs:decimal
 EarnedM

Hours attended or credits earned by the employee

 
xs:decimal
@TypeM

Number of hours or credits.

 
values:
Hours
Credits
 DateFromM

Start date of the course or activity

 
xs:date
 DateToM

Ending date of the course or activity

 
xs:date
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.4-1: EmployeeRecertification
<EmployeeRecertification> <SSN>123456789</SSN> <Name Type="04"> <LastName>Johnson</LastName> <FirstName>Alicia</FirstName> </Name> <Demographics> <Gender>F</Gender> </Demographics> <ActivityName>Elementary IU Staff Inservice</ActivityName> <ActivityType>Activity</ActivityType> <ActivityHours>5</ActivityHours> <Earned Type="Credits">1.5</Earned> <DateFrom>2003-07-01</DateFrom> <DateTo>2003-07-01</DateTo> </EmployeeRecertification>
Example 6.12.4-1: EmployeeRecertification

6.12.5 ProfessionalDevelopmentActivities

This object contains information about courses and activities for which employees can earn credits or hours to maintain their certification.

SIF_Events are reported for this object.

ProfessionalDevelopmentActivities
Figure 6.12.5-1: ProfessionalDevelopmentActivities ProfessionalDevelopmentActivities RefId ActivityProviderRefId ProfessionalDevelopmentProgramRefId LearningStandardItems LearningStandardItemRefId LocalId StartDate EndDate Description ClockHours Credits Stipend FundingSource SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ProfessionalDevelopmentActivities 

This object contains information about courses and activities for which employees can earn credits or hours to maintain their certification.

 
 
@
key
RefIdM

GUID for this object.

 
RefIdType
@ActivityProviderRefIdM

References the ActivityProvider object

 
IdRefType
 ProfessionalDevelopmentProgramRefIdO

Reference to associated professional development program.

 
IdRefType
 LearningStandardItemsO

Associated LearningStandardItem objects.

 
List
 LearningStandardItems/LearningStandardItemRefId
     
OR

A GUID reference to a LearningStandardItem that supports this content.

 
IdRefType
 LocalIdM

Locally assigned number or provider referenced course number used to represent the course or activity

 
LocalId
 StartDateM

The starting date of the course or activity

 
xs:date
 EndDateM

The ending date of the course or activity

 
xs:date
 DescriptionM

The description of the course or activity

 
xs:string
 ClockHoursM

The actual number of hours required for the course or activity

 
xs:decimal
 CreditsO

Number of credits that can be earned by completing the course or activity.

 
xs:decimal
 StipendO

Tracks stipend being offered for this particular activity.

 
MonetaryAmountType
 FundingSourceO

Tracks the source of funding for this particular activity.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.5-1: ProfessionalDevelopmentActivities
<ProfessionalDevelopmentActivities RefId="CCD1254884AE54687FF4567DACD34653" ActivityProviderRefId="CAD125488EE54687FF4567DACD346532"> <ProfessionalDevelopmentProgramRefId>8BCFB9B7A6BC4895818E5A46C0B431E9</ProfessionalDevelopmentProgramRefId> <LearningStandardItems> <LearningStandardItemRefId>38473628DAE38FCD8379DE285AAAC328</LearningStandardItemRefId> </LearningStandardItems> <LocalId>305.0</LocalId> <StartDate>2003-05-02</StartDate> <EndDate>2003-05-03</EndDate> <Description>In-service on recognizing child abuse</Description> <ClockHours>16</ClockHours> <Credits>1.2</Credits> <Stipend>50.00</Stipend> <FundingSource>Reading First Grant</FundingSource> </ProfessionalDevelopmentActivities>
Example 6.12.5-1: ProfessionalDevelopmentActivities

6.12.6 ProfessionalDevelopmentProgram

The purpose of this object is for tracking sets of professional development activities. It creates a high-level relationship between professional development activities for tracking training programs, grant-funded professional development, or potentially individually created learning programs. The case for interoperability is that financial systems and instructional systems need to be aware of professional development programs for funding or alignment respectively.

SIF_Events are reported for this object.

ProfessionalDevelopmentProgram
Figure 6.12.6-1: ProfessionalDevelopmentProgram ProfessionalDevelopmentProgram RefId LearningStandardItems LearningStandardItemRefId LocalProgramId ProgramName ProgramType FundingSource SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ProfessionalDevelopmentProgram Container for external relationships.  
@
key
RefIdM

GUID for this object.

 
RefIdType
 LearningStandardItemsO

Associated LearningStandardItem objects.

 
List
 LearningStandardItems/LearningStandardItemRefId
     
OR

A GUID reference to a LearningStandardItem that supports this content.

 
IdRefType
 LocalProgramIdO

An element for setting local program identifiers.

 
xs:normalizedString
 ProgramNameM

The name or title of the program.

 
xs:normalizedString
 ProgramTypeM

The type of program whether it be a grant, learning plan, or system training.

 
xs:normalizedString
 FundingSourceO

The funding source of the program.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.6-1: ProfessionalDevelopmentProgram
<ProfessionalDevelopmentProgram RefId="E6F37470472D49EE86C1FA8EE47D8244"> <LearningStandardItems> <LearningStandardItemRefId>241A53AFBA3176EF062367CFCC2900BC</LearningStandardItemRefId> </LearningStandardItems> <LocalProgramId>RI123</LocalProgramId> <ProgramName>Reading First Grant</ProgramName> <ProgramType>Grant</ProgramType> </ProfessionalDevelopmentProgram>
Example 6.12.6-1: ProfessionalDevelopmentProgram

6.12.7 ProfessionalDevelopmentRegistration

This object tracks the status of the user in a professional development activity. It includes where the user is in terms of the status of completion, if a stipend is to be provided and the amount of that stipend.

SIF_Events are reported for this object.

ProfessionalDevelopmentRegistration
Figure 6.12.7-1: ProfessionalDevelopmentRegistration ProfessionalDevelopmentRegistration RefId EmployeePersonalRefId RegistrationStatus ProfessionalDevelopmentActivityRefId ProfessionalDevelopmentProgramRefId PaidAmount Stipend SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ProfessionalDevelopmentRegistration   
@
key
RefIdM RefIdType
@EmployeePersonalRefIdM

Who this record affects.

 
IdRefType
 RegistrationStatusM

Tracks the status of the user in the professional development activity.

 
values:
Registered
Represents the user has registered for the activity.
Withdrawn
Represents that the user has withdrawn from the activity without completing.
Complete
Represents that a user has completed the activity and has received credit and show have a record in the employee credit object to represent this.
Incomplete
Represents that the user did not receive credit for this activity for whatever reason.
In Progress
Represents that the user has not yet finished the ProfessionalDevelopmentActivity or ProfessionalDevelopmentProgram but hasn't withdrawn.
 ProfessionalDevelopmentActivityRefIdO

Relationship ID for professional development activity.

 
IdRefType
 ProfessionalDevelopmentProgramRefIdO

Relationship ID for professional development program.

 
IdRefType
 PaidAmountO

This optional field is used if there is a fee for the professional development activity and for tracking the amount the user paid to participate in the professional development activity.

 
MonetaryAmountType
 StipendO

Optional field for tracking the amount the user is paid to participate in the professional development activity.

 
MonetaryAmountType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.12.7-1: ProfessionalDevelopmentRegistration
<ProfessionalDevelopmentRegistration RefId="ACB1254742AE54CC874567DFCD196832" EmployeePersonalRefId="D4E1EA3D82614CA39361514E5F115B14"> <RegistrationStatus>Registered</RegistrationStatus> <ProfessionalDevelopmentActivityRefId>13F1BD47F2AE862C874567ABE4196DD1</ProfessionalDevelopmentActivityRefId> <PaidAmount Currency="USD">25</PaidAmount> <Stipend Currency="USD">500</Stipend> </ProfessionalDevelopmentRegistration>
Example 6.12.7-1: ProfessionalDevelopmentRegistration

6.13 Special Programs Working Group

The Special Programs Working Group's mission is to focus on support within SIF for effective data exchange regarding special education and other individualized programs.

6.13.1 StudentParticipation

This object contains information pertaining to student eligibility for and participation in an individualized special program such as special education, ESL, Section 504, etc.

Multiple instances of this object may be transmitted for a particular student because the student may participate in multiple programs and because the details of a student's participation in a given program may change over time. A separate instance of this object must be generated for each program in which the student participates, and the ProgramType element is used to identify the particular program. In addition, each time the student's participation profile changes for a particular program, a new instance of this object must be generated with the appropriate value in the ProgramType element, the effective date of the new profile in StudentParticipationAsOfDate, and a new RefId.

SIF_Events are reported for this object.

StudentParticipation
Figure 6.13.1-1: StudentParticipation StudentParticipation RefId StudentPersonalRefId StudentParticipationAsOfDate ProgramType ProgramFundingSources ProgramFundingSource Code OtherCodeList ManagingPublicAgency SIF_RefObject ManagingSchool SIF_RefObject PartCTransitionMeetingNotHeldReasons PartCTransitionMeetingNotHeldReason Code OtherCodeList PartCTransitionMeetingDate PartCTransitionMeetingOutcomes PartCTransitionMeetingOutcome Code OtherCodeList ReferralDate ReferralSource Code OtherCodeList ProgramStatus GiftedEligibilityCriteria EvaluationParentalConsentDate EvaluationDate EvaluationExtensionDate ExtensionComments ReevaluationDate ExceptionalityCategories ProgramEligibilityDate ProgramPlanType Code OtherCodeList ProgramPlanDate ProgramPlanEffectiveDate NOREPDate PlacementParentalConsentDate ProgramPlacementDate LeastRestrictiveEnvironment Code OtherCodeList ExtendedSchoolYear ExtendedDay ProgramAvailability Code OtherCodeList PrivateNotPlacedByPublic ProgramReviewDate FBADate BIPDate ProgramExitDate ProgramExitReason Code OtherCodeList ProjectedExitDate ProjectedExitReason Codeset PlannedAssessmentParticipation TransitionPlanning Codeset StudentSpecialEducationFTE EntryPerson ParticipationContact SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentParticipation 

This object contains information pertaining to student eligibility for and participation in an individualized special program such as special education, ESL, Section 504, etc.

Multiple instances of this object may be transmitted for a particular student because the student may participate in multiple programs and because the details of a student's participation in a given program may change over time. A separate instance of this object must be generated for each program in which the student participates, and the ProgramType element is used to identify the particular program. In addition, each time the student's participation profile changes for a particular program, a new instance of this object must be generated with the appropriate value in the ProgramType element, the effective date of the new profile in StudentParticipationAsOfDate, and a new RefId.

 
 
@
key
RefIdM

This is the unique identification code

 
RefIdType
@StudentPersonalRefIdM

The GUID of the student that this object is linked to.

 
IdRefType
 StudentParticipationAsOfDateM

Effective date (NOT the entry date) of this StudentParticipation instance for the identified student and program. Each time there is a change to the student's program participation profile, a new instance of this object is to be generated with the appropriate StudentParticipationAsOfDate and a new RefId.

 
xs:date
 ProgramTypeM ProgramType
 ProgramFundingSourcesO List
 ProgramFundingSources/ProgramFundingSource
     
MR  
 ProgramFundingSources/ProgramFundingSource/
     Code
M

Funding source for the program, may be more than one.

 
union of:

NCES0222ProgramFundingSourceType

subset:

0797
0617
0622
0654
9999


additional values:

S001
Education for the Disadvantaged, ESEA I-A
S002
English Language Acquisition, Language Enhancement and Academic Achievement, ESEA III-A
S003
Foreign Language Assistance, ESEA V-D
S004
Gifted and Talented, Javits, ESEA V-D
S005
Homeless Children and Youths, ESEA X-C (MVHAA VII-B)
S006
Impact Aid, ESEA, Title VIII
S007
Indian Education, ESEA Title VII
S008
Migrant, ESEA I-C
S009
Migrant, HEA IV-A
S010
Neglected and Delinquent, ESEA I-D
S011
Other ESEA reading programs
S012
Public School Choice, ESEA I-A
S013
Reading First, ESEA I-B
S014
Rural Education, ESEA VI-B
S015
Safe Schools and Citizenship Education, ESEA IV-A and V-D
S016
School Choice, ESEA, Title V-B,-C,-D
S017
Special Education Early Intervening Services, IDEA, Part B
S018
Special Education Grants for Infants and Families Ages 0-2, IDEA, Part C
S019
Special Education Preschool Grants Ages 3-5, IDEA, Part B
S020
Special Education State Grants, IDEA, Part B
S021
State Scholars Capacity Building, ESEA V-D
S022
Supplemental Education Services, ESEA I-A
S023
Vocational Education (Carl D Perkins VTEA)
S024
Reading Proficiency
S025
Reading Sufficiency
S026
Alternative Education
 ProgramFundingSources/ProgramFundingSource/
     OtherCodeList
O OtherCodeList
 ManagingPublicAgencyO

The GUID of the public agency (a district / LEA) to which the "ManagingSchool" reports / belongs.

 
IdRefType
@SIF_RefObjectM values:
LEAInfo
 ManagingSchoolO

The GUID of the school responsible for coordinating the student's program participation.

 
IdRefType
@SIF_RefObjectM values:
SchoolInfo
 PartCTransitionMeetingNotHeldReasonsO List
 PartCTransitionMeetingNotHeldReasons/
     PartCTransitionMeetingNotHeldReason
     
MR  
 PartCTransitionMeetingNotHeldReasons/
     PartCTransitionMeetingNotHeldReason/
     Code
M

A reason why the Part C transition meeting was not held.

 
values:
S001
Parent Withdrawal or Parent Choice
S002
Parent/Child Moved
S003
Child exited 0-3 Program Prior to Transition Meeting (No Longer Eligible for Part C)
S004
Other
 PartCTransitionMeetingNotHeldReasons/
     PartCTransitionMeetingNotHeldReason/
     OtherCodeList
O OtherCodeList
 PartCTransitionMeetingDateO

Date the transition meeting was held for a Part C child.

 
xs:date
 PartCTransitionMeetingOutcomesO List
 PartCTransitionMeetingOutcomes/
     PartCTransitionMeetingOutcome
     
MR  
 PartCTransitionMeetingOutcomes/
     PartCTransitionMeetingOutcome/
     Code
M

An outcome of a Part C transition meeting.

 
values:
S001
Assessments needed
S002
Family support provided
S003
Program options identified
S004
Referral to community options
S005
Part B eligible
S006
Other
 PartCTransitionMeetingOutcomes/
     PartCTransitionMeetingOutcome/
     OtherCodeList
O OtherCodeList
 ReferralDateO

Date student was referred for evaluation/program participation.

 
xs:date
 ReferralSourceO  
 ReferralSource/CodeM

The method by which a student was identified for referral to a particular program.

 
NCES0792IdentificationProcedureType
 ReferralSource/OtherCodeList
     
O OtherCodeList
 ProgramStatusO ProgramStatus
 GiftedEligibilityCriteriaO

State / local code used to determine eligibility for Gifted / Talented program.

 
xs:token
 EvaluationParentalConsentDateO

Date parent(s) consented to completion of evaluation of child for program participation.

 
xs:date
 EvaluationDateO

Date the evaluation/assessment process for student was completed.

 
xs:date
 EvaluationExtensionDateO

Actual date by which evaluation must be completed (for state use in determining timeliness in event that parent and LEA agreed to an extension beyond normal state deadline).

 
xs:date
 ExtensionCommentsO

Contains any comments on the extension. Optional even if an EvaluationExtensionDate is present.

 
xs:string
 ReevaluationDateO

Date students will be reevaluated for continued placement in a support program(s).

 
xs:date
 ExceptionalityCategoriesO ExceptionalityCategories
 ProgramEligibilityDateO

Date student is eligible for beginning the support program(s).

 
xs:date
 ProgramPlanTypeO  
 ProgramPlanType/CodeM

The document that outlines the student program/plan as approved by parents, guardians, and staff.

 
union of:

NCES0806IndividualizedProgramTypeType

additional values:

S001
504 plan
S002
Student intervention / support plan
S003
GIEP - Individualized education program for gifted student
S004
Literacy plan
S005
Individualized transition plan
S006
Services plan
 ProgramPlanType/OtherCodeList
     
O OtherCodeList
 ProgramPlanDateO

Date the most recent program plan was completed and approved by the team responsible for developing it. The date the parent consented to placement is NOREPDate.

 
xs:date
 ProgramPlanEffectiveDateODate by which the plan must be implemented for the student. xs:date
 NOREPDateO

Date the Notice of Recommended Educational Placement was signed and approved by the parent / guardian of the student.

 
xs:date
 PlacementParentalConsentDateO

Date the parent(s) consented to the proposed placement.

 
xs:date
 ProgramPlacementDateO

Date student began the support program.

 
xs:date
 LeastRestrictiveEnvironmentO  
 LeastRestrictiveEnvironment/
     Code
M

Category represents the optimal educational setting in which the student should be placed (setting where child has most desirable learning environment). Relates specifically to special education.

 
union of:

NCES0307ServiceSettingType
NCES0798EarlyChildhoodProgramSettingType
NCES0804EarlyChildhoodSpecialEducationSettingType

subset:

2191
2190
2187
2188
2184
 LeastRestrictiveEnvironment/
     OtherCodeList
O OtherCodeList
 ExtendedSchoolYearO

For special education, indicates whether Extended School Year (ESY) / summer services have been determined as necessary

 
xs:boolean
 ExtendedDayO

For special education, indicates whether Extended School Day (ESD) services have been determined as necessary.

 
xs:boolean
 ProgramAvailabilityO  
 ProgramAvailability/CodeM

Describes the availability of the program.

 
NCES0211ProgramAvailabilityType
 ProgramAvailability/OtherCodeList
     
O OtherCodeList
 PrivateNotPlacedByPublicO

Indicates whether the student is enrolled by a parent/guardian in a private school and has special education/services provided at public expense. Necessary for the OSEP federal IDEA reports..

 
xs:boolean
 ProgramReviewDateO

Projected date of the program plan review (for IDEA, the projected annual IEP review date).

 
xs:date
 FBADateO

The most recent date on which the IEP Team completed a full and comprehensive review of all functional behavioral assessment materials.

 
xs:date
 BIPDateO

The most recent date on which the IEP Team approved a behavioral intervention plan.

 
xs:date
 ProgramExitDateO

Date student exited support program(s).

 
xs:date
 ProgramExitReasonO  
 ProgramExitReason/CodeM

Review by program / state. May be required if student has exited the program.

 
union of:

NCES0815ProgramExitReasonType

additional values:

S001
Student choice
S002
Student served in other ways
 ProgramExitReason/OtherCodeList
     
O OtherCodeList
 ProjectedExitDateO

The date on which it is projected that a student will exit program. Has typically been provided when student turns 14; under new IDEA, may change to 16.

 
xs:date
 ProjectedExitReasonO

Review by program / state. May be required if a ProjectedExitDate is present. The projected reason for a student's exit from program.

 
xs:token
@CodesetM

Identifies source of value provided.

 
values:
StateProvince
Local
e.g. district-specific
Other
Text
 PlannedAssessmentParticipationO

The student's planned level of participation in statewide assessments.

 
PlannedAssessmentParticipation
 TransitionPlanningO

Purpose / goal for recommended transition planning services.

Examples
Postsecondary Ed - transition services should be targeted toward postsecondary education
Employment - transition services should be targeted toward employment
Community Living - transition services should be targeted toward community living
NA - not applicable (e.g., student is younger than age 16)

xs:token
@CodesetM

Identifies source of value provided.

 
values:
StateProvince
Local
e.g. district-specific
Other
Text
 StudentSpecialEducationFTEO

Calculated ratio of time the student is in a special ed setting. Values range from 0.00 to 1.00. If the student is in a special ed setting 25% of the time, the value is .25; if 100% of the time, the value is 1.00.

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits2
 EntryPersonO

Identification / name of the person who created the transaction that led to the creation of this instance of the object.

 
xs:normalizedString
 ParticipationContactO

Primary contact for this record.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.13.1-1: StudentParticipation
<StudentParticipation RefId="D3E34B359D75101A8C3D00AA001A1652" StudentPersonalRefId="A2E34F59A742C1A4B3D11CC002B163A2"> <StudentParticipationAsOfDate>2006-07-13</StudentParticipationAsOfDate> <ProgramType> <Code>0270</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">0839</OtherCode> </OtherCodeList> </ProgramType> <ProgramFundingSources> <ProgramFundingSource> <Code>0797</Code> </ProgramFundingSource> </ProgramFundingSources> <ManagingPublicAgency SIF_RefObject="LEAInfo">F3434F59A742C1A4B3D11CC002B163A2</ManagingPublicAgency> <ManagingSchool SIF_RefObject="SchoolInfo">D93F4D183A42C1A4B3D11CC002B163A2</ManagingSchool> <PartCTransitionMeetingDate>2006-04-09</PartCTransitionMeetingDate> <PartCTransitionMeetingOutcomes> <PartCTransitionMeetingOutcome> <Code>S001</Code> </PartCTransitionMeetingOutcome> </PartCTransitionMeetingOutcomes> <ReferralDate>2005-09-04</ReferralDate> <ReferralSource> <Code>2148</Code> </ReferralSource> <ProgramStatus> <Code>S004</Code> </ProgramStatus> <GiftedEligibilityCriteria>G938</GiftedEligibilityCriteria> <EvaluationParentalConsentDate>2005-11-09</EvaluationParentalConsentDate> <EvaluationDate>2005-11-25</EvaluationDate> <EvaluationExtensionDate>2005-12-10</EvaluationExtensionDate> <ExtensionComments>Reason that extension was allowed</ExtensionComments> <ReevaluationDate>2008-11-25</ReevaluationDate> <ExceptionalityCategories> <ExceptionalityCategory> <Code>2121</Code> <ExceptionalityPriority>Primary</ExceptionalityPriority> </ExceptionalityCategory> <ExceptionalityCategory> <Code>2134</Code> <ExceptionalityPriority>Secondary</ExceptionalityPriority> </ExceptionalityCategory> <ExceptionalityCategory> <Code>2127</Code> <ExceptionalityPriority>Tertiary</ExceptionalityPriority> </ExceptionalityCategory> </ExceptionalityCategories> <ProgramEligibilityDate>2006-01-04</ProgramEligibilityDate> <ProgramPlanType> <Code>2196</Code> </ProgramPlanType> <ProgramPlanDate>2006-01-02</ProgramPlanDate> <NOREPDate>2006-01-09</NOREPDate> <PlacementParentalConsentDate>2006-01-02</PlacementParentalConsentDate> <ProgramPlacementDate>2006-01-09</ProgramPlacementDate> <LeastRestrictiveEnvironment> <Code>0135</Code> </LeastRestrictiveEnvironment> <ExtendedSchoolYear>true</ExtendedSchoolYear> <ExtendedDay>false</ExtendedDay> <ProgramAvailability> <Code>0231</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">2674</OtherCode> </OtherCodeList> </ProgramAvailability> <PrivateNotPlacedByPublic>true</PrivateNotPlacedByPublic> <ProgramReviewDate>2007-01-09</ProgramReviewDate> <FBADate>2006-04-15</FBADate> <BIPDate>2006-04-24</BIPDate> <ProgramExitReason> <Code>2216</Code> </ProgramExitReason> <ProjectedExitDate>2009-01-04</ProjectedExitDate> <ProjectedExitReason Codeset="StateProvince">9568</ProjectedExitReason> <PlannedAssessmentParticipation Codeset="StateProvince">Accommodations - Students with Disabilities</PlannedAssessmentParticipation> <TransitionPlanning Codeset="StateProvince">Postsecondary Ed - transition services should be targeted toward postsecondary education</TransitionPlanning> <StudentSpecialEducationFTE>0.45</StudentSpecialEducationFTE> <EntryPerson>Jill Anderson</EntryPerson> <ParticipationContact>John Mason</ParticipationContact> </StudentParticipation>
Example 6.13.1-1: StudentParticipation

6.13.2 StudentPlacement

This object contains information that describes a specific instructional, related or transitional service that has been prescribed or recommended in the program plan developed for a student who has been placed in an individualized special program.

The following notes are intended to clarify the use of this object:

SIF_Events are reported for this object.

StudentPlacement
Figure 6.13.2-1: StudentPlacement StudentPlacement RefId StudentParticipationRefId StudentPersonalRefId StudentPlacementAsOfDate Service Code OtherCodeList ServiceCategory ServiceFundingSources ServiceFundingSource Code OtherCodeList ServicingPublicAgency SIF_RefObject ServicingSchool SIF_RefObject SchoolWhereServiceDelivered SIF_RefObject ServiceProviderType Code OtherCodeList AgencyType ServiceProviderName ServiceSetting Code OtherCodeList WhenServiceProvided Code OtherCodeList LatestStartDate StartDate EndDate FrequencyTime Code OtherCodeList DirectTime UnitOfMeasure IndirectTime UnitOfMeasure TotalServiceDuration UnitOfMeasure IncludedInSpecialEducationFTE SpecialNeedsTransportation AssistiveTechnology EntryPerson SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentPlacement 

This object contains information that describes a specific instructional, related or transitional service that has been prescribed or recommended in the program plan developed for a student who has been placed in an individualized special program.

 
 
@
key
RefIdM

This is the unique identification code

 
RefIdType
@StudentParticipationRefIdM

This is the reference code for student eligibility for participation

 
IdRefType
@StudentPersonalRefIdM

The GUID of the student that this object is linked to.

 
IdRefType
 StudentPlacementAsOfDateM

Effective date (NOT the entry date) of this StudentPlacement instance for the identified student and program. It is intended that each time the contents of this instance of the object changes, it will be published with a new RefId.

 
xs:date
 ServiceM  
 Service/CodeM

Specialized instruction or related / transitional service provided to this student.

 
union of:

NCES0273StudentSupportServiceTypeType

subset:

0290
0291
0292
0293
0295
0334
0297
0298
0299
0333
0302
0303
0304
0332
0305
0306
0308
0335
0336
0309
0310
0311
0312
0313
0331
0314
0315
0318
0319
0320
0294
0337
0321
0322
0323
0324
0325
0327
0329
0330
9999

NCES0289TransitionalSupportServiceTypeType
EDENHomelessEducationalSupportServicesAndActivitiesTypeOfServicesReceivedType

subset:

TUT
EE
PD
MEDREF
TRANS
ECPGM
ASST
BASSUM
RECS
PARENT
COORD
COUNS
DOMV
CLOTH
SUPPLY
OTHREF
EMER
OTHER

EDENMigrantStudentsServedMigrantServiceTypeType

subset:

COS
AIS
RI
MI
HSCA
ANYSS
CS
ARS

EDENLEPProgramTypeOfServicesReceivedType

subset:

BILING
DUALLANG
TWOIMM
TRANSBIL
DEVBIL
HERITAGE
SHELENGL
STRUCIMM
SDAIE
CONTENTESL
PULLESL
OTHER

EDENStudentsInNeglectedOrDelinquentProgramsNeglectedOrDelinquentServicesReceivedType

subset:

TS
AS
DP
ASC
JT

StudentPlacementTitleIServicesType
StudentPlacementOtherServicesType
StudentPlacementOtherTypesOfTransportationType
 Service/OtherCodeListO OtherCodeList
 ServiceCategoryO

Category of service (for example, whether it is instruction or a related / transitional service or a supplemental service). Typically designated by a state.

 
values:
S001
Service is instructional
S002
Service is a related service (e.g. speech / language, vision)
S003
Service is transitional
S004
Service is itinerant
S999
Service is of another category
 ServiceFundingSourcesO List
 ServiceFundingSources/ServiceFundingSource
     
MR  
 ServiceFundingSources/ServiceFundingSource/
     Code
M

Funding source for the program, may be more than one.

 
union of:

NCES0222ProgramFundingSourceType

subset:

0797
0617
0622
0654
9999


additional values:

S001
Education for the Disadvantaged, ESEA I-A
S002
English Language Acquisition, Language Enhancement and Academic Achievement, ESEA III-A
S003
Foreign Language Assistance, ESEA V-D
S004
Gifted and Talented, Javits, ESEA V-D
S005
Homeless Children and Youths, ESEA X-C (MVHAA VII-B)
S006
Impact Aid, ESEA, Title VIII
S007
Indian Education, ESEA Title VII
S008
Migrant, ESEA I-C
S009
Migrant, HEA IV-A
S010
Neglected and Delinquent, ESEA I-D
S011
Other ESEA reading programs
S012
Public School Choice, ESEA I-A
S013
Reading First, ESEA I-B
S014
Rural Education, ESEA VI-B
S015
Safe Schools and Citizenship Education, ESEA IV-A and V-D
S016
School Choice, ESEA, Title V-B,-C,-D
S017
Special Education Early Intervening Services, IDEA, Part B
S018
Special Education Grants for Infants and Families Ages 0-2, IDEA, Part C
S019
Special Education Preschool Grants Ages 3-5, IDEA, Part B
S020
Special Education State Grants, IDEA, Part B
S021
State Scholars Capacity Building, ESEA V-D
S022
Supplemental Education Services, ESEA I-A
S023
Vocational Education (Carl D Perkins VTEA)
S024
Reading Proficiency
S025
Reading Sufficiency
S026
Alternative Education
 ServiceFundingSources/ServiceFundingSource/
     OtherCodeList
O OtherCodeList
 ServicingPublicAgencyO

The GUID of the public agency (a district / LEA) to which the "ServicingSchool" reports / belongs.

 
IdRefType
@SIF_RefObjectM values:
LEAInfo
 ServicingSchoolO

The GUID of the school responsible for providing and coordinating this service (but physical location where service delivered could be different and is identified in SchoolWhereServiceDelivered).

 
IdRefType
@SIF_RefObjectM values:
SchoolInfo
 SchoolWhereServiceDeliveredO

The GUID of the school where the service is delivered.

 
IdRefType
@SIF_RefObjectM values:
SchoolInfo
 ServiceProviderTypeO  
 ServiceProviderType/CodeM

Used for an individual providing the service. Review by state / program, may be required. Service provider title (such as Physical Therapist or Psychologist).

 
NCES0557JobClassificationType

subset:

0100
0200
0201
0202
0203
0204
0205
0206
0207
0208
0209
0210
0211
0212
0213
0300
0309
0313
0322
0328
0329
0333
0334
0335
0336
0338
0339
0340
0342
0343
0345
0346
0347
0349
0351
0352
0353
0356
0359
0361
0363
0400
0500
0501
0507
0512
0600
0700
0800
0801
0802
0900
1000
1001
1002
1009
1011
1012
9999
 ServiceProviderType/OtherCodeList
     
O OtherCodeList
 AgencyTypeO

Identifies an agency or clinic that will provide the specified service.

 
xs:normalizedString
 ServiceProviderNameO

The name of the person who delivers the service.

 
xs:normalizedString
 ServiceSettingO  
 ServiceSetting/CodeM

Setting where service is provided (Regular Class, Resource Room, Homebound, Detention Center, etc.).

 
union of:

NCES0307ServiceSettingType
NCES0798EarlyChildhoodProgramSettingType
NCES0804EarlyChildhoodSpecialEducationSettingType
 ServiceSetting/OtherCodeList
     
O OtherCodeList
 WhenServiceProvidedO  
 WhenServiceProvided/CodeM

General timing of service delivery relative to school calendar / schedule.

 
NCES0211ProgramAvailabilityType
 WhenServiceProvided/OtherCodeList
     
O OtherCodeList
 LatestStartDateO

Date by which service is supposed to start for this student.

 
xs:date
 StartDateO

Actual date this service began for this student.

 
xs:date
 EndDateO

Actual date this service ended for this student.

 
xs:date
 FrequencyTimeO  
 FrequencyTime/CodeM

Code for the frequency that the service is provided.

 
values:
S001
Weekly
S002
Bi-weekly
S003
Semi-monthly
S004
Monthly
S005
quarterly
S006
Semi-annually
S007
Annually
S999
Other
 FrequencyTime/OtherCodeList
     
O OtherCodeList
 DirectTimeO

Number of units of time per session spent directly providing the service to the student.

 
xs:decimal
@UnitOfMeasureM

Identifies unit of measure in which amount of time is expressed.

 
values:
Minutes
Hours
 IndirectTimeO

Number of units of time per session NOT spent directly providing the service to the student but rather spent providing consultation services to someone related to the student (e.g. parent, a general ed teacher, a new service provider, etc.).

 
xs:decimal
@UnitOfMeasureM

Identifies unit of measure in which amount of time is expressed.

 
values:
Minutes
Hours
 TotalServiceDurationO

Total of the direct and indirect time as it relates to the FrequencyTime; e.g., DirectTime 60 + IndirectTime 30 = 90.

 
xs:decimal
@UnitOfMeasureM

Identifies unit of measure in which amount of time is expressed.

 
values:
Minutes
Hours
 IncludedInSpecialEducationFTEO

Indicates whether the direct time for this service is included in the calculation of a student's special education FTE.

 
xs:boolean
 SpecialNeedsTransportationO

Indicates whether the student requires transportation to the location of Placement/Service.

 
xs:boolean
 AssistiveTechnologyO

Indicates whether the student requires assistive technology for this Placement/Service.

 
xs:boolean
 EntryPersonO

Identification / name of the person who created the transaction that led to the creation of this instance of the object.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.13.2-1: StudentPlacement
<StudentPlacement RefId="A3E34B359A75101D8C3A00DD001D1652" StudentParticipationRefId="D3E34B359D75101A8C3D00AA001A1652" StudentPersonalRefId="A2E34F59A742C1A4B3D11CC002B163A2"> <StudentPlacementAsOfDate>2006-07-13</StudentPlacementAsOfDate> <Service> <Code>0290</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">8829</OtherCode> </OtherCodeList> </Service> <ServiceFundingSources> <ServiceFundingSource> <Code>0797</Code> </ServiceFundingSource> </ServiceFundingSources> <ServicingPublicAgency SIF_RefObject="LEAInfo">F3434F59A742C1A4B3D11CC002B163A2</ServicingPublicAgency> <ServicingSchool SIF_RefObject="SchoolInfo">D93F4D183A42C1A4B3D11CC002B163A2</ServicingSchool> <SchoolWhereServiceDelivered SIF_RefObject="SchoolInfo">D93F4D183A42C1A4B3D11CC002B163A2</SchoolWhereServiceDelivered> <ServiceProviderType> <Code>0203</Code> </ServiceProviderType> <AgencyType>Public School</AgencyType> <ServiceProviderName>John Q. Public</ServiceProviderName> <ServiceSetting> <Code>0356</Code> </ServiceSetting> <WhenServiceProvided> <Code>0231</Code> </WhenServiceProvided> <LatestStartDate>2006-02-01</LatestStartDate> <StartDate>2006-02-01</StartDate> <EndDate>2007-01-09</EndDate> <FrequencyTime> <Code>S001</Code> </FrequencyTime> <DirectTime UnitOfMeasure="Minutes">60</DirectTime> <IndirectTime UnitOfMeasure="Minutes">0</IndirectTime> <TotalServiceDuration UnitOfMeasure="Minutes">60</TotalServiceDuration> <IncludedInSpecialEducationFTE>true</IncludedInSpecialEducationFTE> <SpecialNeedsTransportation>true</SpecialNeedsTransportation> <AssistiveTechnology>false</AssistiveTechnology> <EntryPerson>Jill Anderson</EntryPerson> </StudentPlacement>
Example 6.13.2-1: StudentPlacement

6.13.3 TestAccommodation

This object provides information about test accommodation(s) required for a particular student who is registered to take a particular state test or who is about to be assigned by a teacher to take a course-related test, is participating in one or more special program(s) and for whom this set of test accommodations is prescribed in one or more specific special program plan(s). At the time that a new special program plan is developed for the student, any needed test / instructional accommodations must be specified as a part of that plan. During the life of a plan, a test accommodation may be added or removed.

Note that although a test accommodation may not be permitted for a state assessment program because it nullifies the results, it may be used for daily instruction. However, in order to use a test accommodation for a state assessment program, the test accommodation must be specified in the program plan and should be part of daily instruction. The request for this object must supply the information necessary to identify the specific student and either a specific high-stakes test or a subject area.

SIF_Events are not reported for this object.

TestAccommodation
Figure 6.13.3-1: TestAccommodation TestAccommodation RefId StudentPersonalRefId Name LocalId StateProvinceId StateDistrictId LEAInfoRefId SchoolInfoRefId StateSchoolId GradeLevel AssessmentRegistrationRefId TestAdministration TestSubjectArea TestGradeLevel TestAdministrationDateRange PlannedTestAdministrationDate TestType AuthorizedActual ActualTestAdministrationDate StudentProgramAccommodations StudentProgramAccommodation StudentParticipationRefId StudentProgramType Code OtherCodeList Accommodations Accommodation Code OtherCodeList AccommodationCategory Code OtherCodeList SpecialMaterials SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 TestAccommodation 

This object provides information about test accommodation(s) required for a particular student who is registered to take a particular state test or who is about to be assigned by a teacher to take a course-related test, is participating in one or more special program(s) and for whom this set of test accommodations is prescribed in one or more specific special program plan(s).

 
 
@
key
RefIdM

Unique ID for this set of test accommodations required for a particular student who is participating in a special program and for whom this set of test accommodation(s) is recommended / prescribed for this test administration (specific subject area and level) in a specific special programs plan.

 
RefIdType
 StudentPersonalRefIdC

Reference to StudentPersonal object. Typically a vendor is allowed to receive a StateProvinceId or a student's Name, but not both together. The student must be identified by StudentPersonalRefId, or Name and LocalId, or StateProvinceId.

 
IdRefType
 NameC

The student's name as presented in StudentPersonal object, Name element with a Type of 02 (Current Legal Name). If Type 02 is not available, Type of 04 (Name of Record). Sub-elements to be used: LastName, FirstName, MiddleName.

 
Name
 LocalIdC

The locally assigned identifier for this student.

 
LocalId
 StateProvinceIdC

Reference to the state code identifying the student in the StudentPersonal object, as of the date of the response.

 
StateProvinceId
 StateDistrictIdO

Reference to State code (StateProvinceId for LEAInfo) for the student's district of enrollment as of the date of the response (optional because school might be independent).

 
StateProvinceId
 LEAInfoRefIdO

The RefId for the district to which the student's home school of enrollment belongs as of the date of the response (optional because school might be independent).

 
IdRefType
 SchoolInfoRefIdM

The RefId for the student's home school of enrollment as of the date of the response.

 
IdRefType
 StateSchoolIdO

Reference to State code (StateProvinceId for SchoolInfo) for student's home school of enrollment as of the date of the response (optional because state may not require).

 
StateProvinceId
 GradeLevelM

Code for the current actual grade placement of the student as of the date of the response from StudentSchoolEnrollment.

 
GradeLevel
 AssessmentRegistrationRefIdC

RefId for the student's registration / assignment to take a particular test (test name, subject area, level, grade level, type) at a particular time or within a particular timeframe. An assessment may also be identified by omitting this element and specifying the whole set (TestAdministration, TestSubjectArea, TestGradeLevel, TestAdministrationDateRange or PlannedTestAdministrationDate, and TestType).

 
IdRefType
 TestAdministrationC

Abbreviated name of the test for which this set of accommodations is to be provided.

 
xs:token
 TestSubjectAreaC

Subject area of the test. Teachers may only supply this element, while a high-stakes test will supply the whole set (TestAdministration, TestSubjectArea, TestGradeLevel, TestAdministrationDateRange or PlannedTestAdministrationDate, and TestType).

 
xs:token
 TestGradeLevelC

Grade level of the test.

 
xs:token
 TestAdministrationDateRangeC

General date range of the test (e.g. "Spring 2005"). Date is identified by either TestAdministrationDateRange or PlannedTestAdministrationDate

 
xs:normalizedString
 PlannedTestAdministrationDateC

The date the test is planned to be administered. Should contain the most current known date (Date is needed in order to identify accommodations to be sent—accommodations are date-dependent).

 
xs:date
 TestTypeO

Identifies whether the test the student is to take is a standard or alternate.

 
values:
S001
Standard
S002
Alternate
9999
Other
 AuthorizedActualM

Indicator - Identifies whether accommodations in this object are authorized or were actually used.

 
values:
S001
Authorized
S002
Actual (actually used during test administration)
S999
Other
 ActualTestAdministrationDateO

The date the test was actually administered.

 
xs:date
 StudentProgramAccommodationsO

Container. If the requested student no longer requires any accomodations, this element should be omitted.

 
 
 StudentProgramAccommodations/
     StudentProgramAccommodation
     
MR

Identifies a program in which the student participates and the accommodations specified by that program.

 
List
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     StudentParticipationRefId
     
O

Reference to the instance of the StudentParticipation object in which the required test accommodation(s) are specified for the date of the test.

 
IdRefType
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     StudentProgramType
M  
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     StudentProgramType/Code
M

The value specified in the referenced StudentParticipation object in ProgramType

 
xs:token
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     StudentProgramType/OtherCodeList
     
O OtherCodeList
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations
M List
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation
     
MR  
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     Code
M

Identifies the specific accommodation. At least one required if the repeating group is sent.

 
union of:

TestAccommodationTestMaterialType
TestAccommodationTestAdministrationType
TestAccommodationStudentEquipmentAndTechnologyType
TestAccommodationTestResponseType
TestAccommodationSchedulingType
TestAccommodationSettingType

additional values:

9999
Other
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     OtherCodeList
O OtherCodeList
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     AccommodationCategory
O

Defines a general category of test accommodation.

 
 
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     AccommodationCategory/Code
     
M values:
S001
Presentation
S002
Presentation equipment / technology
S003
Response
S004
Scheduling / timing
S005
Setting
S006
Test Response
S999
Other
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     AccommodationCategory/OtherCodeList
     
O OtherCodeList
 StudentProgramAccommodations/
     StudentProgramAccommodation/
     Accommodations/Accommodation/
     SpecialMaterials
M

Accommodation specified requires special materials. Required if the repeating group is sent.

 
xs:boolean
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.13.3-1: TestAccommodation
<TestAccommodation RefId="AD634F59A742C1A4B3D11CC002B163A2"> <StudentPersonalRefId>A2E34F59A742C1A4B3D11CC002B163A2</StudentPersonalRefId> <StateProvinceId>9289348</StateProvinceId> <LEAInfoRefId>F3434F59A742C1A4B3D11CC002B163A2</LEAInfoRefId> <SchoolInfoRefId>D93F4D183A42C1A4B3D11CC002B163A2</SchoolInfoRefId> <StateSchoolId>98283</StateSchoolId> <GradeLevel> <Code>11</Code> </GradeLevel> <TestAdministration>Woodcock Johnson Tests of Achievement</TestAdministration> <TestSubjectArea>Broad Reading</TestSubjectArea> <TestGradeLevel>11</TestGradeLevel> <PlannedTestAdministrationDate>2006-07-15</PlannedTestAdministrationDate> <TestType>S001</TestType> <AuthorizedActual>S002</AuthorizedActual> <ActualTestAdministrationDate>2006-07-15</ActualTestAdministrationDate> <StudentProgramAccommodations> <StudentProgramAccommodation> <StudentParticipationRefId>D3E34B359D75101A8C3D00AA001A1652</StudentParticipationRefId> <StudentProgramType> <Code>0270</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">0839</OtherCode> </OtherCodeList> </StudentProgramType> <Accommodations> <Accommodation> <Code>S101</Code> <AccommodationCategory> <Code>S001</Code> </AccommodationCategory> <SpecialMaterials>true</SpecialMaterials> </Accommodation> <Accommodation> <Code>S147</Code> <AccommodationCategory> <Code>S006</Code> </AccommodationCategory> <SpecialMaterials>false</SpecialMaterials> </Accommodation> </Accommodations> </StudentProgramAccommodation> </StudentProgramAccommodations> </TestAccommodation>
Example 6.13.3-1: TestAccommodation

6.14 Student Information Systems Working Group

The Student Information Systems Working Group provides maximum interoperability between K-12 applications that need to exchange SIS information such as student, teacher, school, and enrollment using SIF by designing SIF data objects that are easy to understand, implement and extend, and by making the communication between applications as efficient as possible by ensuring that only the minimum required amount of data is exchanged in each transaction.

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

6.14.1 AttendanceCodeInfo

This object provides information about a particular attendance code, allows applications to synchronize each other's attendance code tables, or provides a dynamic list of attendance codes.

SIF_Events are reported for this object.

AttendanceCodeInfo
Figure 6.14.1-1: AttendanceCodeInfo AttendanceCodeInfo RefId SchoolInfoRefId AttendanceCode AttendanceType AttendanceStatus Description AbsenceValue UsedForDailyAttendance UsedForPeriodAttendance SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AttendanceCodeInfo 

This object provides information about a particular attendance code, allows applications to synchronize each other's attendance code tables, or provides a dynamic list of attendance codes.

 
 
@
key
RefIdM

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

 
RefIdType
@SchoolInfoRefIdM

The ID (GUID) that identifies the school where the attendance code is used.

 
IdRefType
 AttendanceCodeM

Locally defined code for attendance.

 
xs:token
 AttendanceTypeM

Type of attendance code.

 
values:
Absent
Tardy
EarlyDeparture
Partial
Present
Other
 AttendanceStatusM

Excused status of the attendance code.

 
values:
Excused
Unexcused
Unknown
NA
 DescriptionO

The text description of the attendance code.

 
xs:normalizedString
 AbsenceValueO

The amount of absence represented by AttendanceCode, up to three decimal places.

 
xs:decimal
xs:minInclusive0
xs:fractionDigits3
 UsedForDailyAttendanceM

Is this attendance code used for daily attendance?

 
values:
Yes
No
 UsedForPeriodAttendanceM

Is this attendance code used for period attendance?

 
values:
Yes
No
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.1-1: AttendanceCodeInfo
<AttendanceCodeInfo RefId="64A309DA063A2E35B359D75101A8C3D0" SchoolInfoRefId="CE0674A8BB8247669DE348F113D2316A"> <AttendanceCode>AE</AttendanceCode> <AttendanceType>Absent</AttendanceType> <AttendanceStatus>Excused</AttendanceStatus> <Description>Child is absent with appropriate, legal excuse.</Description> <AbsenceValue>1.0</AbsenceValue> <UsedForDailyAttendance>Yes</UsedForDailyAttendance> <UsedForPeriodAttendance>Yes</UsedForPeriodAttendance> </AttendanceCodeInfo>
Example 6.14.1-1: AttendanceCodeInfo

6.14.2 CalendarDate

This object defines information related to a school calendar day in a given school calendar year. If both CalendarDate and CalendarSummary objects are supported, there must be an instance of this object for each date between CalendarSummary StartDate and EndDate, inclusive.

SIF_Events are reported for this object.

CalendarDate
Figure 6.14.2-1: CalendarDate CalendarDate Date CalendarSummaryRefId SchoolInfoRefId SchoolYear CalendarDateType Code OtherCodeList CalendarDateNumber StudentAttendance CountsTowardAttendance AttendanceValue TeacherAttendance CountsTowardAttendance AttendanceValue AdministratorAttendance CountsTowardAttendance AttendanceValue SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 CalendarDate 

This object defines information related to a school calendar day in a given school calendar year. If both CalendarDate and CalendarSummary objects are supported, there must be an instance of this object for each date between CalendarSummary StartDate and EndDate, inclusive.

 
 
@
key
DateM

A specific school day that occurs within the school year.

 
xs:date
@
key
CalendarSummaryRefIdM

The ID (GUID) of the calendar summary in which this calendar date is.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) of the school for which this calendar information is being reported.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2007" for the 2006-07 school year).

 
SchoolYear
 CalendarDateTypeM

Calendar date type information.

 
 
 CalendarDateType/CodeM

Code indicating the type of school day.

 
union of:

NCES0084CalendarEventType

additional values:

INST
Instructional School Day
MKUP
Instructional day that is scheduled solely to make up for emergency days or early dismissal days.
 CalendarDateType/OtherCodeList
     
O OtherCodeList
 CalendarDateNumberO

Order in which the calendar date falls within the school calendar.

 
xs:unsignedInt
 StudentAttendanceO

Information describing how the day relates to student attendance.

 
 
 StudentAttendance/CountsTowardAttendance
     
M

Designates whether this date should be counted toward student attendance.

 
values:
Yes
No
 StudentAttendance/AttendanceValue
     
M

Amount of the school day in which the student should be in attendance (Format is x.x; a student who should be in attendance a full day would be represented as 1.0). If CountsTowardAttendance equals Yes then StudentAttendanceValue must be greater than zero.

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits1
 TeacherAttendanceO

Information describing how the day relates to teacher attendance.

 
 
 TeacherAttendance/CountsTowardAttendance
     
M

Designates whether this date should be counted toward teacher attendance.

 
values:
Yes
No
 TeacherAttendance/AttendanceValue
     
M

Amount of the school day in which the teacher should be in attendance (format is x.x; a teacher who should be in attendance a full day would be represented as 1.0).

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits1
 AdministratorAttendanceO

Information describing how the day relates to administrator attendance.

 
 
 AdministratorAttendance/CountsTowardAttendance
     
M

Designates whether this date should be counted toward administrator attendance.

 
values:
Yes
No
 AdministratorAttendance/AttendanceValue
     
M

Amount of the school day in which the administrator should be in attendance (format is x.x; an administrator who should be in attendance a full day would be represented as 1.0).

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits1
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.2-1: CalendarDate
<CalendarDate Date="2007-08-31" CalendarSummaryRefId="B5739375800AC4CC63850BB2754114AA" SchoolInfoRefId="B7A34E561C97345C0A4E11BB112B2753" SchoolYear="2007"> <CalendarDateType> <Code>0845</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">20</OtherCode> <OtherCode Codeset="Local">10</OtherCode> </OtherCodeList> </CalendarDateType> <CalendarDateNumber>1</CalendarDateNumber> <StudentAttendance> <CountsTowardAttendance>No</CountsTowardAttendance> <AttendanceValue>0.0</AttendanceValue> </StudentAttendance> <TeacherAttendance> <CountsTowardAttendance>Yes</CountsTowardAttendance> <AttendanceValue>1.0</AttendanceValue> </TeacherAttendance> <AdministratorAttendance> <CountsTowardAttendance>Yes</CountsTowardAttendance> <AttendanceValue>1.0</AttendanceValue> </AdministratorAttendance> </CalendarDate>
Example 6.14.2-1: CalendarDate

6.14.3 CalendarSummary

This object provides a summary of a school's calendar information for a given school year. A school may have more than one calendar per school year (e.g., one calendar for Kindergarten students, one for special education students, one for seniors, or one for each calendar track), and each may have different days in session, start and end dates, minutes per day, instructional minutes, etc.

SIF_Events are reported for this object.

CalendarSummary
Figure 6.14.3-1: CalendarSummary CalendarSummary RefId SchoolInfoRefId SchoolYear LocalId Description DaysInSession StartDate EndDate FirstInstructionDate LastInstructionDate GraduationDate InstructionalMinutes MinutesPerDay GradeLevels SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 CalendarSummary 

This object provides a summary of a school's calendar information for a given school year. A school may have more than one calendar per school year (e.g., one calendar for Kindergarten students, one for special education students, one for seniors, or one for each calendar track), and each may have different days in session, start and end dates, minutes per day, instructional minutes, etc.

 
 
@
key
RefIdM

The ID (GUID) of the calendar to which this information relates.

 
RefIdType
@SchoolInfoRefIdM

The ID (GUID) of the school for which this calendar information is being reported.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2007" for the 2006-07 school year).

 
SchoolYear
 LocalIdM

The locally assigned identifier for this calendar.

 
LocalId
 DescriptionO

Textual description of the school calendar.

 
xs:string
 DaysInSessionM

The total number of days that the school was or is anticipated to be in session during the school year. Also included are days on which the education institution facility is closed and the student body as a whole is engaged in planned activities off-campus under the guidance and direction of staff members.

 
xs:unsignedInt
 StartDateO

The first calendar date, whether or not instruction was provided. If both CalendarSummary and CalendarDate objects are supported, StartDate must be the date of the first chronological instance of CalendarDate for the school's calendar.

 
xs:date
 EndDateO

The last calendar date, whether or not instruction was provided. If both CalendarSummary and CalendarDate objects are supported, EndDate must be the last chronological instance of CalendarDate for the school's calendar.

 
xs:date
 FirstInstructionDateO

The first day of student instruction.

 
xs:date
 LastInstructionDateO

The last day of student instruction (including days or times that students are present for purposes of testing and/or evaluation, but not including whole or part-days whose sole purposes is for distribution of report cards).

 
xs:date
 GraduationDateO

Date of graduation ceremony.

 
GraduationDate
 InstructionalMinutesO

The total number of instructional minutes for this calendar for the school year.

 
xs:unsignedInt
 MinutesPerDayO

The number of minutes in the day in which the school is normally in session.

 
xs:unsignedInt
 GradeLevelsO

Collection of grade levels applicable to this school calendar.

 
GradeLevels
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.3-1: CalendarSummary
<CalendarSummary RefId="B5739375800AC4CC63850BB2754114AA" SchoolInfoRefId="B7A34E561C97345C0A4E11BB112B2753" SchoolYear="2005"> <LocalId>123321A</LocalId> <Description>Elementary School Calendar</Description> <DaysInSession>180</DaysInSession> <FirstInstructionDate>2006-09-05</FirstInstructionDate> <LastInstructionDate>2007-06-10</LastInstructionDate> <GraduationDate>2007-06-11</GraduationDate> <InstructionalMinutes>64800</InstructionalMinutes> <MinutesPerDay>360</MinutesPerDay> <GradeLevels> <GradeLevel> <Code>03</Code> </GradeLevel> <GradeLevel> <Code>04</Code> </GradeLevel> <GradeLevel> <Code>05</Code> </GradeLevel> </GradeLevels> </CalendarSummary>
Example 6.14.3-1: CalendarSummary

6.14.4 DisciplineIncident

This object provides information on incidents involving violence, weapons, drugs, and other safety and discipline issues.

SIF_Events are reported for this object.

DisciplineIncident
Figure 6.14.4-1: DisciplineIncident DisciplineIncident RefId SchoolYear AgencyReporting SIF_RefObject IncidentNumber IncidentDate IncidentTime Type IncidentLocation Type IncidentLocationRefId SIF_RefObject IncidentCost IncidentReporter Type Name SIF_RefId SIF_RefObject RelatedToList RelatedTo WeaponTypeList WeaponType IncidentCategory Code OtherCodeList OffenderList Offender Type Name SIF_RefId SIF_RefObject Injury ManifestationDetermination MeetingHeld MeetingDate DueToDisability ActionList Action Code OtherCodeList StartDate EndDate Duration ZeroTolerance FullYearExpulsion ShortenedExpulsion PoliceNotification Arrest AlternativeEducation VictimList Victim Type Name SIF_RefId SIF_RefObject Injury SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 DisciplineIncident 

This object provides information on incidents involving violence, weapons, drugs, and other safety and discipline issues.

 
 
@
key
RefIdM

The unique identifier (GUID) of this discipline incident.

 
RefIdType
@SchoolYearM

School year in which the incident occurred, and for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2007" for the 2006-07 school year).

 
SchoolYear
 AgencyReportingM

The ID (GUID) of the school or LEA reporting the incident, usually the school in which the incident occurred.

 
IdRefType
@SIF_RefObjectM

The name of the SIF object to which the GUID relates.

 
values:
SchoolInfo
LEAInfo
 IncidentNumberM

The locally-defined unique identifier (within the school or school district) to identify this specific incident or occurrence.

 
xs:normalizedString
 IncidentDateM

The date when the incident occurred.

 
xs:date
 IncidentTimeM

The time when the incident occurred.

 
xs:time
@TypeM

Identifies whether or not the incident occurred during school hours.

 
SAFETYTimeType
 IncidentLocationM

The locally-defined identifier or description of the location where the incident occurred.

 
xs:string
@TypeM

Identifies where the incident occurred.

 
NCES1040IncidentLocationType
 IncidentLocationRefIdO

GUID of the SIF object that relates to the school or location where the incident occurred, if applicable.

 
IdRefType
@SIF_RefObjectM

The name of the SIF object to which the GUID relates.

 
values:
SchoolInfo
LocationInfo
 IncidentCostO

If the incident resulted in a quantifiable monetary loss for any entity involved, identify and record the value of that loss. Cost may be reported by specific monetary amount or range.

 
xs:string
 IncidentReporterM

Information regarding the individual who reported the incident.

 
 
@TypeM

Identifies the type of individual who reported the incident.

 
NCES1043ReporterDescriptionType
 IncidentReporter/NameO

The name of the individual reporting the incident.

 
Name
 IncidentReporter/SIF_RefId
     
O

GUID of the SIF object that relates to the person who reported the incident, if applicable.

 
IdRefType
@SIF_RefObjectM

The name of the SIF object to which the GUID relates.

 
values:
StudentPersonal
StaffPersonal
EmployeePersonal
StudentContact
 RelatedToListO

List of categories to which the incident is related.

 
List
 RelatedToList/RelatedToOR

Identifies if incident was related to a specific category.

 
NCES1048SecondaryIncidentBehaviorType
 WeaponTypeListC

List of weapons involved in the incident. If the incident involves weapons, the element must have a value.

 
List
 WeaponTypeList/WeaponType
     
MR

Identifies the type of weapon used during an incident.

 
NCES1045WeaponTypeType
 IncidentCategoryM

The category or description for this incident.

 
 
 IncidentCategory/CodeM

Identifies the type of incident being reported.

 
NCES1049IncidentCodeType
 IncidentCategory/OtherCodeList
     
O

List of other codes or strings that crosswalk to or serve as translations of the Code element. If Code changes and OtherCode elements are supported, both Code and all associated OtherCode elements must be present.

 
OtherCodeList
 OffenderListM

List of offenders.

 
List
 OffenderList/OffenderMR

Information regarding the offender(s)/perpetrator(s).

 
 
@TypeM

Identifies the type of offender involved in the incident.

 
NCES1043ReporterDescriptionType
 OffenderList/Offender/Name
     
M

The name of the offender.

 
Name
 OffenderList/Offender/SIF_RefId
     
C

If the Offender Type attribute identifies the offender as a Student or Staff Member, then this element should contain the ID (GUID) of the student or staff to whom this information relates.

 
IdRefType
@SIF_RefObjectM

SIF Object to which the SIFRefId relates.

 
values:
StudentPersonal
StaffPersonal
EmployeePersonal
 OffenderList/Offender/Injury
     
M

Identifies whether or not this specific offender was physically injured, and if so, identifies whether the injury was major or minor.

 
NCES1046IncidentInjuryType
 OffenderList/Offender/ManifestationDetermination
     
O

Information relating to a manifestation determination meeting.

 
 
 OffenderList/Offender/ManifestationDetermination/
     MeetingHeld
O

Was a manifestation determination meeting held for this student regarding this offense?

 
values:
Yes
No
 OffenderList/Offender/ManifestationDetermination/
     MeetingDate
O

Date of the manifestation determination meeting, if applicable.

 
xs:date
 OffenderList/Offender/ManifestationDetermination/
     DueToDisability
O

Did the team determine that the offense was a manifestation of the student's disability?

 
values:
Yes
No
 OffenderList/Offender/ActionList
     
O

List of actions taken.

 
List
 OffenderList/Offender/ActionList/
     Action
OR

Information regarding the action(s) taken against the offender in response to the incident.

 
 
 OffenderList/Offender/ActionList/
     Action/Code
M

Specific action taken toward this offender.

 
NCES1054DisciplinaryActionType
 OffenderList/Offender/ActionList/
     Action/OtherCodeList
O

List of other codes or strings that crosswalk to or serve as translations of the Code element. If Code changes and OtherCode elements are supported, both Code and all associated OtherCode elements must be present.

 
OtherCodeList
 OffenderList/Offender/ActionList/
     Action/StartDate
M

The date on which the disciplinary action begins.

 
xs:date
 OffenderList/Offender/ActionList/
     Action/EndDate
M

The date through which the disciplinary action is in effect, inclusive.

 
xs:date
 OffenderList/Offender/ActionList/
     Action/Duration
M

Identifies the length, in school days, of the disciplinary action. Note: decimal places may be used for fractions of school days.

 
xs:decimal
 OffenderList/Offender/ActionList/
     Action/ZeroTolerance
M

Identifies whether or not this action taken against a student was imposed as a consequence of state or local zero tolerance policies.

 
values:
Yes
No
 OffenderList/Offender/ActionList/
     Action/FullYearExpulsion
M

Identifies whether or not the action involved an expulsion with or without services for a period of one full year (i.e., 365 days).

 
values:
Yes
No
 OffenderList/Offender/ActionList/
     Action/ShortenedExpulsion
     
M

Identifies whether or not the action involved an expulsion with or without services that is shortened to a term of less than one year by the superintendent or chief administrator of a school district.

 
values:
Yes
No
 OffenderList/Offender/ActionList/
     Action/PoliceNotification
     
M

Identifies whether or not the offender's action included notification of local law enforcement, regardless of whether official action was taken.

 
values:
Yes
No
 OffenderList/Offender/ActionList/
     Action/Arrest
M

Identifies whether or not the offender was arrested.

 
values:
Yes
No
Pending
 OffenderList/Offender/ActionList/
     Action/AlternativeEducation
     
M

Identifies whether or not the offender was assigned to an Alternative Education facility.

 
values:
Yes
No
 VictimListC

List of victim(s) if the incident is directed toward specific persons or their property.

 
List
 VictimList/VictimMR

Information regarding the victim(s) in the incident.

 
 
@TypeM

Identifies the type of individual victimized in the incident.

 
NCES1043ReporterDescriptionType
 VictimList/Victim/NameO

The name of the victim.

 
Name
 VictimList/Victim/SIF_RefId
     
C

If the Victim Type attribute identifies the victim as a Student or Staff Member, then this element should contain the ID (GUID) of the student or staff to whom this information relates.

 
IdRefType
@SIF_RefObjectM

SIF Object to which the SIFRefId relates.

 
values:
StudentPersonal
StaffPersonal
EmployeePersonal
 VictimList/Victim/InjuryM

Identifies whether or not this specific victim was physically injured, and if so, identify whether the injury was major or minor.

 
NCES1046IncidentInjuryType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.4-1: DisciplineIncident
<DisciplineIncident RefId="A1544ED564995254A4568EFFC5100BD1" SchoolYear="2007"> <AgencyReporting SIF_RefObject="SchoolInfo">0847987235489729AAA73011BB365EC3</AgencyReporting> <IncidentNumber>56501</IncidentNumber> <IncidentDate>2007-04-14</IncidentDate> <IncidentTime Type="100">13:20:30</IncidentTime> <IncidentLocation Type="3014">232</IncidentLocation> <IncidentLocationRefId SIF_RefObject="SchoolInfo">0847987235489729AAA73011BB365EC3</IncidentLocationRefId> <IncidentCost>500.00</IncidentCost> <IncidentReporter Type="3422"> <Name Type="04"> <LastName>Jones</LastName> <FirstName>Sam</FirstName> </Name> <SIF_RefId SIF_RefObject="StaffPersonal">AC47B8703DD89729A55730177B300574</SIF_RefId> </IncidentReporter> <RelatedToList> <RelatedTo>3066</RelatedTo> <RelatedTo>3068</RelatedTo> </RelatedToList> <WeaponTypeList> <WeaponType>0099</WeaponType> </WeaponTypeList> <IncidentCategory> <Code>1500</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">DSRD</OtherCode> </OtherCodeList> </IncidentCategory> <OffenderList> <Offender Type="0126"> <Name Type="04"> <LastName>Fernall</LastName> <FirstName>William</FirstName> </Name> <SIF_RefId SIF_RefObject="StudentPersonal">0847987235489729AAA73011BB365EC3</SIF_RefId> <Injury>3065</Injury> <ManifestationDetermination> <MeetingHeld>Yes</MeetingHeld> <MeetingDate>2007-04-16</MeetingDate> <DueToDisability>No</DueToDisability> </ManifestationDetermination> <ActionList> <Action> <Code>3080</Code> <OtherCodeList> <OtherCode Codeset="StateProvince">ANMG</OtherCode> </OtherCodeList> <StartDate>2004-04-15</StartDate> <EndDate>2004-04-15</EndDate> <Duration>1</Duration> <ZeroTolerance>No</ZeroTolerance> <FullYearExpulsion>No</FullYearExpulsion> <ShortenedExpulsion>No</ShortenedExpulsion> <PoliceNotification>No</PoliceNotification> <Arrest>No</Arrest> <AlternativeEducation>No</AlternativeEducation> </Action> </ActionList> </Offender> </OffenderList> <VictimList> <Victim Type="3061"> <Name Type="04"> <LastName>Woolman</LastName> <FirstName>John</FirstName> </Name> <Injury>3065</Injury> </Victim> </VictimList> </DisciplineIncident>
Example 6.14.4-1: DisciplineIncident

6.14.5 LEAInfo

This object contains information about a school district or other Local Educational Agency (LEA).

SIF_Events are reported for this object.

LEAInfo
Figure 6.14.5-1: LEAInfo LEAInfo RefId LocalId StateProvinceId NCESId LEAName LEAURL EducationAgencyType Code OtherCodeList LEAContactList LEAContact PublishInDirectory ContactInfo PhoneNumberList AddressList IdentificationInfoList GradeLevels OperationalStatus CongressionalDistrict SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 LEAInfo 

This object contains information about a school district or other Local Educational Agency (LEA).

 
 
@
key
RefIdM

The GUID of the LEA whose information this is.

 
RefIdType
 LocalIdM

The locally-assigned identifier for this LEA.

 
LocalId
 StateProvinceIdO

The state-assigned identifier for this LEA.

 
StateProvinceId
 NCESIdO

The NCES-assigned identifier for this LEA.

 
NCESId
 LEANameM

Name of LEA.

 
LEAName
 LEAURLO

URL for the LEA.

 
xs:anyURI
 EducationAgencyTypeO

The classification of the education agency within the geographic boundaries of a state according to the level of administrative and operational control.

 
 
 EducationAgencyType/CodeM

Code indicating the operational/administrative level.

 
NCES1151AgencyTypeType
 EducationAgencyType/OtherCodeList
     
O OtherCodeList
 LEAContactListO List
 LEAContactList/LEAContact
     
MR

Information on contact persons for this LEA.

 
 
 LEAContactList/LEAContact/
     PublishInDirectory
O

Indicates whether or not this LEA contact's information should be published in a directory of LEA information.

 
PublishInDirectory
 LEAContactList/LEAContact/
     ContactInfo
M ContactInfo
 PhoneNumberListO

The LEA's phone number(s).

 
PhoneNumberList
 AddressListO

The LEA's address(es).

 
AddressList
 IdentificationInfoListO

Other identification information associated with an LEA, such as the locally-defined code/identifier, etc.

 
IdentificationInfoList
 GradeLevelsO

Collection of grade levels offered in this LEA.

 
GradeLevels
 OperationalStatusO

Operational condition of an LEA.

 
OperationalStatus
 CongressionalDistrictO

Number for the US congressional district where the LEA is located.

 
CongressionalDistrict
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.5-1: LEAInfo
<LEAInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <LocalId>946379881</LocalId> <StateProvinceId>C2345681</StateProvinceId> <NCESId>4215750</NCESId> <LEAName>Happy Meadow School District</LEAName> <LEAURL>http://www.happymeadowsd.edu</LEAURL> <EducationAgencyType> <Code>3486</Code> </EducationAgencyType> <LEAContactList> <LEAContact> <PublishInDirectory>Yes</PublishInDirectory> <ContactInfo> <Name Type="04"> <LastName>Geisel</LastName> <FirstName>Theodore</FirstName> <FullName>Theodore Geisel</FullName> </Name> <PositionTitle>Superintendent</PositionTitle> <EmailList> <Email Type="Primary">drseuss@happymeadowsd.edu</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-0103</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> </LEAContact> </LEAContactList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <IdentificationInfoList> <IdentificationInfo Code="9999">2134A</IdentificationInfo> </IdentificationInfoList> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> <OperationalStatus>0820</OperationalStatus> <CongressionalDistrict>3</CongressionalDistrict> </LEAInfo>
Example 6.14.5-1: LEAInfo

6.14.6 RoomInfo

This object contains all of the information about a school's room. This object may contain a reference to a room type so that it may represent anything from a gym, cafeteria, to a standard classroom. The StaffList element usually contains the homeroom teacher.

SIF_Events are reported for this object.

RoomInfo
Figure 6.14.6-1: RoomInfo RoomInfo RefId SchoolInfoRefId RoomNumber StaffList StaffPersonalRefId Description Building HomeroomNumber Size Capacity PhoneNumber RoomTypeRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 RoomInfo 

This object contains all of the information about a school's room. This object may contain a reference to a room type so that it may represent anything from a gym, cafeteria, to a standard classroom. The StaffList element usually contains the homeroom teacher.

 
 
@
key
RefIdM

GUID that identifies this room.

 
RefIdType
@SchoolInfoRefIdM

GUID that identifies the school that this room belongs to.

 
IdRefType
 RoomNumberM

Room number as presented to the user/application.

 
xs:token
 StaffListO List
 StaffList/StaffPersonalRefId
     
MR

GUID that identifies the staff person assigned to this room (e.g. the homeroom teacher).

 
IdRefType
 DescriptionO

Friendly name that can be assigned to the room (e.g. Staff Cafeteria).

 
xs:normalizedString
 BuildingO

Extra building information. In the future Building could become its own object in which case this element will need to be changed to a RefId. Currently it is only required as a free text field.

 
xs:normalizedString
 HomeroomNumberO

When a room is designated as a homeroom it may have a different number. Usually blank when room is not a homeroom.

 
xs:normalizedString
 SizeO

Size in square feet.

 
xs:decimal
 CapacityO

Number of persons (usually students) that this room can hold.

 
xs:unsignedInt
 PhoneNumberO

Phone number for the room

 
PhoneNumber
 RoomTypeRefIdO

GUID that identifies the room type assigned to this room.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.6-1: RoomInfo
<RoomInfo RefId="D3E34B359D75101A8C3D00AA001A1652" SchoolInfoRefId="A2E35B359D75101A8C3D00AA001A0000"> <RoomNumber>101</RoomNumber> <StaffList> <StaffPersonalRefId>A8C3A2E35B359D75101D00AA001A0000</StaffPersonalRefId> </StaffList> <Description>Room 101</Description> <Building>Main A</Building> <HomeroomNumber>10-HR-A</HomeroomNumber> <Size>400</Size> <Capacity>35</Capacity> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> <RoomTypeRefId>9D75101A8C3D00AA001A0000A2E35B35</RoomTypeRefId> </RoomInfo>
Example 6.14.6-1: RoomInfo

6.14.7 RoomType

This object identifies the type of room, i.e. gym, cafeteria, standard classroom, etc.

SIF_Events are reported for this object.

RoomType
Figure 6.14.7-1: RoomType RoomType RefId SchoolInfoRefId Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 RoomType 

This object identifies the type of room, i.e. gym, cafeteria, standard classroom, etc.

 
 
@
key
RefIdM

GUID that identifies this room type.

 
RefIdType
@SchoolInfoRefIdM

GUID that identifies the school that this room type belongs to.

 
IdRefType
 DescriptionM

Description of the room type.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.7-1: RoomType
<RoomType RefId="D3E34B359D75101A8C3D00AA001A1652" SchoolInfoRefId="A2E35B359D75101A8C3D00AA001A0000"> <Description>Gymnasium</Description> </RoomType>
Example 6.14.7-1: RoomType

6.14.8 SchoolCourseInfo

This object is for course information.

SIF_Events are reported for this object.

SchoolCourseInfo
Figure 6.14.8-1: SchoolCourseInfo SchoolCourseInfo RefId SchoolInfoRefId SchoolYear CourseCode StateCourseCode DistrictCourseCode SubjectAreaList CourseTitle Description InstructionalLevel CourseCredits CoreAcademicCourse GraduationRequirement Department SCEDCode SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SchoolCourseInfo 

This object is for course information.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies the school course.

 
RefIdType
@SchoolInfoRefId

The ID (GUID) that identifies the school where the course is offered.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 CourseCodeM

School-defined local code for the course.

 
CourseCode
 StateCourseCodeO

State-defined standard course code used to report information about courses.

 
StateCourseCode
 DistrictCourseCodeO

The corresponding district course code.

 
DistrictCourseCode
 SubjectAreaListO

Subject matter areas.

 
SubjectAreaList
 CourseTitleM

Title of the course.

 
CourseTitle
 DescriptionO

Textual description of the course.

 
xs:normalizedString
 InstructionalLevelO

An indication of the general nature and difficulty of instruction provided.

 
InstructionalLevel
 CourseCreditsO

The number of credits awarded upon course completion.

 
CourseCredits
 CoreAcademicCourseO

Does the course meet the state definition of a core academic course?

 
values:
Yes
No
 GraduationRequirementO

Does the state require that the course be completed for graduation?

 
GraduationRequirement
 DepartmentO

Department with jurisdiction over this course.

 
xs:normalizedString
 SCEDCodeO

Course code from the School Codes for the Exchange of Data that describes the course content.

NOTE: SCED codes currently only apply to secondary courses. This element may be sent with xsi:nil="true" or omitted for elementary courses.

 
SCEDCode
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.8-1: SchoolCourseInfo
<SchoolCourseInfo RefId="9D75101A8C3D00AA001A0000A2E35B35" SchoolInfoRefId="101A8C3D00AA001A0000A2E35B359D75" SchoolYear="2006"> <CourseCode>CS101</CourseCode> <StateCourseCode>08-001</StateCourseCode> <DistrictCourseCode>CS101</DistrictCourseCode> <SubjectAreaList> <SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreaList> <CourseTitle>Gif, JPeg, or Png: What's the Difference?</CourseTitle> <Description>Explore the various types of files related to graphic arts.</Description> <InstructionalLevel> <Code>0571</Code> </InstructionalLevel> <CourseCredits Type="0585">2</CourseCredits> <CoreAcademicCourse>No</CoreAcademicCourse> <GraduationRequirement>No</GraduationRequirement> </SchoolCourseInfo>
Example 6.14.8-1: SchoolCourseInfo

6.14.9 SchoolInfo

This object contains information about the school.

SIF_Events are reported for this object.

SchoolInfo
Figure 6.14.9-1: SchoolInfo SchoolInfo RefId LocalId StateProvinceId NCESId SchoolName LEAInfoRefId OtherLEA SIF_RefObject SchoolType SchoolFocusList SchoolFocus SchoolURL PrincipalInfo ContactName ContactTitle SchoolContactList AddressList PhoneNumberList IdentificationInfoList SessionType GradeLevels Title1Status OperationalStatus CongressionalDistrict SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SchoolInfo 

This object contains information about the school.

 
 
@
key
RefIdM

The GUID that identifies this school.

 
RefIdType
 LocalIdO

The locally-assigned identifier for this school.

 
LocalId
 StateProvinceIdO

The state-assigned identifier for this school.

 
StateProvinceId
 NCESIdO

The NCES-assigned identifier for this school.

 
NCESId
 SchoolNameM

Name of school.

 
xs:normalizedString
 LEAInfoRefIdO

The ID (GUID) that references the school district of which this school is a member.

 
IdRefType
 OtherLEAO

The ID (GUID) of another related education agency, such as a regional service agency.

 
IdRefType
@SIF_RefObjectM

The name of the object reference.

 
values:
LEAInfo
 SchoolTypeO

An indication of the level of the educational institution.

 
NCES0031SchoolLevelType
 SchoolFocusListO List
 SchoolFocusList/SchoolFocus
     
MR

The type of educational institution as classified by its focus.

 
values:
Regular
SpecialEd
Vocational
Alternative
Magnet
Charter
 SchoolURLO

URL for the school.

 
SchoolURL
 PrincipalInfoO

Information about the school's principal.

 
 
 PrincipalInfo/ContactName
     
M

The name of the principal.

 
xs:normalizedString
 PrincipalInfo/ContactTitle
     
O

The principal's title.

 
xs:normalizedString
 SchoolContactListO SchoolContactList
 AddressListO

The school's addresses.

 
AddressList
 PhoneNumberListO

The school's phone numbers.

 
PhoneNumberList
 IdentificationInfoListO

Other identification information associated with a school, such as the locally-defined code/identifier, etc.

 
IdentificationInfoList
 SessionTypeO

Code that specifies the session type.

 
NCES0266SessionTypeType
 GradeLevelsO

Collection of grade levels offered in this school.

 
GradeLevels
 Title1StatusO

Status of the school's Title I eligibility. Certain schools are designated under appropriate state and federal regulations as being eligible for participation in programs authorized by Title I of Public Law 103-382.

 
values:
Targeted
Certain students enrolled in the school are eligible for Title I programs
SchoolWide
All students in the school are eligible for Title I programs
NA
Not applicable, school is not eligible for Title I programs
 OperationalStatusO

Operational condition of a school.

 
OperationalStatus
 CongressionalDistrictO

Number for the US congressional district of the school location.

 
CongressionalDistrict
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.9-1: SchoolInfo
<SchoolInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <LocalId>946379881</LocalId> <StateProvinceId>C2345681</StateProvinceId> <NCESId>421575003045</NCESId> <SchoolName>Lincoln High School</SchoolName> <LEAInfoRefId>73648462888624AA5294BC6380173276</LEAInfoRefId> <OtherLEA SIF_RefObject="LEAInfo">AA648462888624AA5294BC638017320B</OtherLEA> <SchoolFocusList> <SchoolFocus>Regular</SchoolFocus> </SchoolFocusList> <SchoolURL>http://www.lincolnhs.edu</SchoolURL> <PrincipalInfo> <ContactName>Richard Knudson</ContactName> <ContactTitle>Dr.</ContactTitle> </PrincipalInfo> <SchoolContactList> <SchoolContact> <PublishInDirectory>Yes</PublishInDirectory> <ContactInfo> <Name Type="04"> <LastName>Miller</LastName> <FirstName>James</FirstName> </Name> <PositionTitle>Office Assistant</PositionTitle> <EmailList> <Email Type="Primary">jmiller@lhs.k12.state.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-1235</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> </SchoolContact> </SchoolContactList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <IdentificationInfoList> <IdentificationInfo Code="0175">00123</IdentificationInfo> </IdentificationInfoList> <SessionType>0830</SessionType> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> <Title1Status>Targeted</Title1Status> <OperationalStatus>0820</OperationalStatus> <CongressionalDistrict>3</CongressionalDistrict> </SchoolInfo>
Example 6.14.9-1: SchoolInfo

6.14.10 SectionInfo

This object provides information about the section—the specific time period a session of the course meets.

SIF_Events are reported for this object.

SectionInfo
Figure 6.14.10-1: SectionInfo SectionInfo RefId SchoolCourseInfoRefId SchoolYear LocalId Description ScheduleInfoList ScheduleInfo TermInfoRefId TeacherList StaffPersonalRefId SectionRoomList RoomInfoRefId MeetingTimeList MeetingTime MediumOfInstruction Code OtherCodeList LanguageOfInstruction Code OtherCodeList LocationOfInstruction Code OtherCodeList SummerSchool SchoolCourseInfoOverride Override CourseCode StateCourseCode DistrictCourseCode SubjectArea CourseTitle InstructionalLevel CourseCredits SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SectionInfo 

This object provides information about the section—the specific time period a session of the course meets.

 
 
@
key
RefIdM

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

 
RefIdType
@SchoolCourseInfoRefIdM

The ID (GUID) that identifies the course being taught in this section.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 LocalIdM

The locally-assigned identifier for this course section.

 
LocalId
 DescriptionO

Description of the course section.

 
xs:normalizedString
 ScheduleInfoListM List
 ScheduleInfoList/ScheduleInfo
     
MR

The schedule-related information for a section repeating for each term in which the section is scheduled. The TermInfoRefId attribute value should not repeat within an instance of the object (ScheduleInfo nodes should not have duplicate terms).

 
 
@TermInfoRefIdM

The ID (GUID) of the term to which this schedule information relates.

 
IdRefType
 ScheduleInfoList/ScheduleInfo/
     TeacherList
O List
 ScheduleInfoList/ScheduleInfo/
     TeacherList/StaffPersonalRefId
     
MR

The ID (GUID) of the teacher.

 
IdRefType
 ScheduleInfoList/ScheduleInfo/
     SectionRoomList
O List
 ScheduleInfoList/ScheduleInfo/
     SectionRoomList/RoomInfoRefId
     
MR

The ID (GUID) of the room in which this section is taught.

 
IdRefType
 ScheduleInfoList/ScheduleInfo/
     MeetingTimeList
O List
 ScheduleInfoList/ScheduleInfo/
     MeetingTimeList/MeetingTime
     
MR

Time(s) this section meets.

 
MeetingTime
 MediumOfInstructionO

Medium through which the student receives instructional communication from the teacher.

 
 
 MediumOfInstruction/CodeM

Code representing the medium of instruction.

 
NCES0209MediumOfInstructionType
 MediumOfInstruction/OtherCodeList
     
O OtherCodeList
 LanguageOfInstructionO

Language in which the section is taught.

 
 
 LanguageOfInstruction/Code
     
M

Code representing the language of instruction.

 
NISOZ3953LanguageCodesType
 LanguageOfInstruction/OtherCodeList
     
O OtherCodeList
 LocationOfInstructionO

Description of the location in which the section is taught.

 
 
 LocationOfInstruction/Code
     
M

Code representing the location of instruction.

 
NCES0171ReceivingLocationOfInstructionServiceType
 LocationOfInstruction/OtherCodeList
     
O OtherCodeList
 SummerSchoolO

Is this a summer school assignment?

 
values:
Yes
No
 SchoolCourseInfoOverrideO

Optional overrides of the course information for this section.

 
 
@OverrideM

Designates whether or not SchoolCourseInfo information has been overridden with different values for this section.

 
values:
Yes
No
 SchoolCourseInfoOverride/
     CourseCode
O

Override of the school-defined course code for this section.

 
CourseCode
 SchoolCourseInfoOverride/
     StateCourseCode
O

Override of the state-defined course code for this section.

 
StateCourseCode
 SchoolCourseInfoOverride/
     DistrictCourseCode
O

Override of the district course code for this section.

 
DistrictCourseCode
 SchoolCourseInfoOverride/
     SubjectArea
O

Override of the subject matter area for this section.

 
SubjectArea
 SchoolCourseInfoOverride/
     CourseTitle
O

Override of the course title for this section.

 
CourseTitle
 SchoolCourseInfoOverride/
     InstructionalLevel
O

Override of the instructional level for this section.

 
InstructionalLevel
 SchoolCourseInfoOverride/
     CourseCredits
O

Override of the course credits for this section.

 
CourseCredits
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.10-1: SectionInfo
<SectionInfo RefId="D3E34B359D75101A8C3D00AA001A1652" SchoolCourseInfoRefId="A2E35B359D75101A8C3D00AA001A0000" SchoolYear="2006"> <LocalId>287-1</LocalId> <ScheduleInfoList> <ScheduleInfo TermInfoRefId="099BBC3227490063E97403434C5C2207"> <TeacherList> <StaffPersonalRefId>A8C3A2E35B359D75101D00AA001A0000</StaffPersonalRefId> <StaffPersonalRefId>A8C45DC6B3359D75101D00A456BE9000</StaffPersonalRefId> </TeacherList> <SectionRoomList> <RoomInfoRefId>94785736AB3671090BDD87593A264086</RoomInfoRefId> </SectionRoomList> <MeetingTimeList> <MeetingTime> <TimetableDay>M</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>T</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>W</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>R</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>F</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> </MeetingTimeList> </ScheduleInfo> <ScheduleInfo TermInfoRefId="A2334007263E97403434C5C220798765"> <TeacherList> <StaffPersonalRefId>CC543E35B359D75101D00AA001A00703</StaffPersonalRefId> </TeacherList> <SectionRoomList> <RoomInfoRefId>94785736AB3671090BDD87593A264086</RoomInfoRefId> </SectionRoomList> <MeetingTimeList> <MeetingTime> <TimetableDay>M</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>T</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>W</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>R</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>F</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> </MeetingTimeList> </ScheduleInfo> </ScheduleInfoList> <MediumOfInstruction> <Code>0605</Code> </MediumOfInstruction> <LanguageOfInstruction> <Code>eng</Code> </LanguageOfInstruction> <LocationOfInstruction> <Code>0340</Code> <OtherCodeList> <OtherCode Codeset="Text">Pennsylvania College of Technology</OtherCode> </OtherCodeList> </LocationOfInstruction> <SchoolCourseInfoOverride Override="Yes"> <CourseCode>CS101A</CourseCode> <StateCourseCode>08-001A</StateCourseCode> <DistrictCourseCode>CS101A</DistrictCourseCode> <SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts for Beginners</OtherCode> </OtherCodeList> </SubjectArea> <CourseTitle>Graphics Basics</CourseTitle> <InstructionalLevel> <Code>0570</Code> </InstructionalLevel> <CourseCredits Type="0585">0.50</CourseCredits> </SchoolCourseInfoOverride> </SectionInfo>
Example 6.14.10-1: SectionInfo

6.14.11 StaffAssignment

This object defines information related to a staff member's assignment(s); commonly, this will be a school assignment.

SIF_Events are reported for this object.

StaffAssignment
Figure 6.14.11-1: StaffAssignment StaffAssignment RefId SchoolInfoRefId SchoolYear StaffPersonalRefId Description PrimaryAssignment JobStartDate JobEndDate JobFTE JobFunction Code OtherCodeList TeachingAssignment Code OtherCodeList GradeLevels ItinerantTeacher InstructionalLevel EmployeePersonalRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StaffAssignment 

This object defines information related to a staff member's assignment(s); commonly, this will be a school assignment.

 
 
@
key
RefIdM

The GUID that uniquely identifies a particular staff assignment.

 
RefIdType
@SchoolInfoRefIdM

The ID (GUID) that identifies the school where the staff member is assigned.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2007 for the 2006-07 school year).

 
SchoolYear
@StaffPersonalRefIdM

ID (GUID) of this staff member, as represented in the StaffPersonal object. 

 
IdRefType
 DescriptionO

Short assignment description

 
xs:normalizedString
 PrimaryAssignmentM

Is this the staff member's primary assignment? Note: There must be one and only one instance of the object with a Yes value in this element per school year.

 
values:
Yes
No
 JobStartDateO

This is the date from which the staff assignment is valid (inclusive).

 
xs:date
 JobEndDateO

This is the date through which the staff assignment is valid (inclusive).

 
xs:date
 JobFTEO

Full-time job equivalent ratio for this assignment. (Format is x.xx; an employee who is full-time and who is 50% of their time on this assignment would be represented as 0.50)

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits2
 JobFunctionO

The purpose of the activities as related to students

 
 
 JobFunction/CodeM

Code representing the type of job function.

 
NCES0568FunctionTypeType
 JobFunction/OtherCodeList
     
O OtherCodeList
 TeachingAssignmentO

The teacher field taught by the individual

 
 
 TeachingAssignment/CodeM

Code representing the type of teaching assignment.

 
union of:

NCES0436TeachingAssignmentType

additional values:

NA
Not applicable
 TeachingAssignment/OtherCodeList
     
O OtherCodeList
 GradeLevelsO

An indication of the grade level(s) the individual is assigned

 
GradeLevels
 ItinerantTeacherO

Is this staff itinerant for this assignment?

 
values:
Yes
No
NA
 InstructionalLevelO

An indication of the general nature of instruction provided throughout a course.

 
InstructionalLevel
 EmployeePersonalRefIdO

A GUID referencing an EmployeePersonal object to be able to establish a link between HR employee objects and SIS staff objects.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.11-1: StaffAssignment
<StaffAssignment RefId="D3E34B359D75101A8C3D00AA001A1652" SchoolInfoRefId="A8C3D3E34B359D75101D00AA001A1652" SchoolYear="2004" StaffPersonalRefId="D3E34B359D75101A8C3D00AA001A1651"> <Description>First grade elementary teacher</Description> <PrimaryAssignment>Yes</PrimaryAssignment> <JobStartDate>2000-09-05</JobStartDate> <JobEndDate>2001-06-25</JobEndDate> <JobFTE>1.00</JobFTE> <JobFunction> <Code>1000</Code> </JobFunction> <TeachingAssignment> <Code>1304</Code> </TeachingAssignment> <ItinerantTeacher>No</ItinerantTeacher> <InstructionalLevel> <Code>0571</Code> </InstructionalLevel> <EmployeePersonalRefId>43E34B359D75101A8C3D00AA001A1652</EmployeePersonalRefId> </StaffAssignment>
Example 6.14.11-1: StaffAssignment

6.14.12 StaffPersonal

This object contains all the personal information relating to a staff member, who might be a teacher or other employee of the school or district.

SIF_Events are reported for this object.

StaffPersonal
Figure 6.14.12-1: StaffPersonal StaffPersonal RefId LocalId StateProvinceId ElectronicIdList OtherIdList OtherId Type Name OtherNames Demographics Title AddressList PhoneNumberList EmailList EmployeePersonalRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StaffPersonal 

This object contains all the personal information relating to a staff member, who might be a teacher or other employee of the school or district.

 
 
@
key
RefIdM

The GUID of the staff member.

 
RefIdType
 LocalIdM

The locally-assigned identifier for this staff member.

 
LocalId
 StateProvinceIdO

The state-assigned identifier for this staff member.

 
StateProvinceId
 ElectronicIdListO

Electronic identifier(s) associated with this entity.

 
ElectronicIdList
 OtherIdListO

Lists all "other" identifiers associated with the staff member.

 
List
 OtherIdList/OtherIdMR

Lists an "other" identifier associated with the staff member.

 
xs:normalizedString
@TypeM

Code that defines the type of this other ID.

 
NCES0147IdentificationSystemType

subset:

0328
0164
0339
9999
0222
0154
0399
0004
0113
5013
 NameM

Name of the staff member. Note: Type value of 04 must be used here.

 
NameOfRecordType
 OtherNamesO

Previous, alternate or other names or aliases associated with the staff member.

 
OtherNames
 DemographicsO

This element contains information related to staff member demographics.

 
Demographics
 TitleO

The staff member's title.

 
xs:normalizedString
 AddressListO

The staff member's address(es).

 
AddressList
 PhoneNumberListO

The staff member's phone number(s).

 
PhoneNumberList
 EmailListO

The staff member's e-mail address(es).

 
EmailList
 EmployeePersonalRefIdO

Allows for a linkage to the HR/Fin EmployeePersonal object.

 
IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.12-1: StaffPersonal
<StaffPersonal RefId="D3E34F419D75101A8C3D00AA001A1652"> <LocalId>946379881</LocalId> <StateProvinceId>C2345681</StateProvinceId> <ElectronicIdList> <ElectronicId Type="Barcode">206655</ElectronicId> </ElectronicIdList> <OtherIdList> <OtherId Type="0004">333333333</OtherId> </OtherIdList> <Name Type="04"> <Prefix>Mr.</Prefix> <LastName>Woodall</LastName> <FirstName>Charles</FirstName> <MiddleName>William</MiddleName> <PreferredName>Chuck</PreferredName> </Name> <Demographics> <Gender>M</Gender> </Demographics> <Title>Principal</Title> <AddressList> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">chuckw@imginc.com</Email> </EmailList> <EmployeePersonalRefId>1652D3E34F419D75101A8C3D00AA001A</EmployeePersonalRefId> </StaffPersonal>
Example 6.14.12-1: StaffPersonal

6.14.13 StudentActivityInfo

This object provides information on co-curricular or extra-curricular activities (e.g., student organizations, intramural and interscholastic athletes, publications, band, orchestra, and service activities) in which students may participate.

SIF_Events are reported for this object.

Click here for non-normative background/supplementary documentation on this object.

StudentActivityInfo
Figure 6.14.13-1: StudentActivityInfo StudentActivityInfo RefId Title Description StudentActivityType Code OtherCodeList StudentActivityLevel GradeLevels CurricularStatus Location SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentActivityInfo 

Co-curricular or extra-curricular activities (e.g., student organizations, intramural and interscholastic athletes, publications, band, orchestra, and service activities) in which students may participate.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies the instance of the object.

 
RefIdType
 TitleMName of the co-curricular or extra-curricular activity. xs:normalizedString
 DescriptionOThe description of the co-curricular or extra-curricular activity. xs:normalizedString
 StudentActivityTypeMInformation regarding the co-curricular or extra-curricular activity.  
 StudentActivityType/CodeMCode identifying the co-curricular or extra-curricular activity. NCES0679ActivityInvolvementCodeType

subset:

0721
0729
0628
0683
0700
0629
0677
0630
0631
0633
0634
0718
0691
0713
0667
0722
0680
0701
0635
0636
0684
0685
0707
0637
0696
0688
0694
0705
0639
0638
0640
0724
0702
0703
0719
0641
0642
0706
0644
0679
0690
0717
0645
0697
0693
0646
0732
0674
0676
0673
0730
0726
0704
0727
0678
9999
0725
0735
0681
0689
0668
0672
0714
0647
0733
0648
0664
0649
0650
0699
0665
0651
0652
0653
0723
0695
0655
0728
0716
0656
0657
0658
0708
0659
0682
0734
0660
0715
0712
0661
0662
0663
0692
 StudentActivityType/OtherCodeList
     
O OtherCodeList
 StudentActivityLevelOA description of the separation of level in the activity (e.g., Varsity, Junior Varsity, Honors). xs:normalizedString
 GradeLevelsOCollection of grade levels applicable to this co-curricular or extra-curricular activity. GradeLevels
 CurricularStatusOAn indication of the degree to which an activity is related to a student's curriculum. NCES0024ActivityTypeType
 LocationOLocation where the activity takes place. Location
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.13-1: StudentActivityInfo
<StudentActivityInfo RefId="6472B2610947583A463DBB345291B001"> <Title>Junior Chess Club</Title> <Description>Competitive team of middle school chess players</Description> <StudentActivityType> <Code>0722</Code> <OtherCodeList> <OtherCode Codeset="Local">JCHC</OtherCode> </OtherCodeList> </StudentActivityType> <StudentActivityLevel>Middle School</StudentActivityLevel> <GradeLevels> <GradeLevel> <Code>05</Code> </GradeLevel> <GradeLevel> <Code>06</Code> </GradeLevel> <GradeLevel> <Code>07</Code> </GradeLevel> <GradeLevel> <Code>08</Code> </GradeLevel> </GradeLevels> <CurricularStatus>0751</CurricularStatus> <Location Type="NonInstructionalSpace"> <LocationName>Washington Middle School Cafeteria</LocationName> <LocationRefId SIF_RefObject="SchoolInfo">947582610947583ACEB2BB345291BAAA</LocationRefId> </Location> </StudentActivityInfo>
Example 6.14.13-1: StudentActivityInfo

6.14.14 StudentActivityParticipation

This object provides information on a co-curricular or extra-curricular activity in which a student participates during a given school year.

SIF_Events are reported for this object.

Click here for non-normative background/supplementary documentation on this object.

StudentActivityParticipation
Figure 6.14.14-1: StudentActivityParticipation StudentActivityParticipation RefId StudentPersonalRefId StudentActivityInfoRefId SchoolYear ParticipationComment StartDate EndDate Role RecognitionList Recognition Code SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentActivityParticipation 

The co-curricular or extra-curricular activity in which the student participates.

 
 
@
key
RefIdM

GUID that uniquely identifies this instance of the object.

 
RefIdType
@StudentPersonalRefIdMGUID that identifies the student participating in the activity. IdRefType
@StudentActivityInfoRefIdMGUID that identifies the activity in which the student participates. IdRefType
@SchoolYearMSchool year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2009 for the 2008-09 school year). SchoolYear
 ParticipationCommentOComment related to the student's participation in the activity. xs:string
 StartDateOThis is the date which the activity participation is valid (inclusive). xs:date
 EndDateOThis is the date through which the activity participation is valid (inclusive). If element is supported by the publisher/responder, should contain a date if the student withdraws from the activity before the end of the school year. xs:date
 RoleOSpecific role the student plays in the activity (e.g., band leader, student body president). xs:normalizedString
 RecognitionListOList of awards and other types of recognition given to the student for this activity. List
 RecognitionList/Recognition
     
MRThe nature of recognition given to the student for the successful completion of work in a co-curricular or extra-curricular activity. xs:token
@CodeM NCES0674HonorsTypeType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.14-1: StudentActivityParticipation
<StudentActivityParticipation RefId="9ECC96830E02406F926C1C4D3542D122" StudentPersonalRefId="646C5D4AC8294886A02B971695C7BC06" StudentActivityInfoRefId="6472B2610947583A463DBB345291B001" SchoolYear="2009"> <ParticipationComment>First year of participation</ParticipationComment> <StartDate>2008-09-01</StartDate> <Role>Team co-captain</Role> <RecognitionList> <Recognition Code="0745" /> </RecognitionList> </StudentActivityParticipation>
Example 6.14.14-1: StudentActivityParticipation

6.14.15 StudentAttendanceSummary

This object provides a summary of a student's daily attendance and membership information for a given school during the time period between the StartDate and EndDate, inclusive. As such, there may be multiple instances of this object for a student in a school over the course of a school year.

SIF_Events are not reported for this object.

StudentAttendanceSummary
Figure 6.14.15-1: StudentAttendanceSummary StudentAttendanceSummary StudentPersonalRefId SchoolInfoRefId SchoolYear StartDate StartDay EndDate EndDay Resident FTE DaysAttended ExcusedAbsences UnexcusedAbsences DaysTardy DaysInMembership SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentAttendanceSummary 

This object provides a summary of a student's daily attendance and membership information for a given school during the time period between the StartDate and EndDate, inclusive. As such, there may be multiple instances of this object for a student in a school over the course of a school year.

 
 
@
key
StudentPersonalRefIdM

The ID (GUID) of the student for whom this attendance information is being reported.

 
IdRefType
@
key
SchoolInfoRefIdM

The ID (GUID) of the school for which this attendance information is being reported.

 
IdRefType
@
key
SchoolYearM

School year for which the information is applicable.

 
SchoolYear
key StartDateM

Starting date of this attendance reporting period.

 
xs:date
 StartDayM

Number of the school day represented in StartDate.

 
xs:unsignedInt
key EndDateM

Ending date of this attendance reporting period.

 
xs:date
 EndDayM

Number of the school day represented in EndDate.

 
xs:unsignedInt
 ResidentM

An indication as to whether or not the student's legal residence was within the boundaries of the school during the time between the StartDate and EndDate, inclusive.

 
values:
Yes
No
Unknown
 FTEO

Full time equivalent numeric value of the student's course load during this attendance period, expressed in decimal form, where 1.00 represents a full time enrollment.

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits2
 DaysAttendedM

The number of days the student attended school when school was in session between the StartDate and EndDate, inclusive.

 
xs:decimal
 ExcusedAbsencesM

The number of days the student was absent from school with a valid excuse when school was in session between the StartDate and EndDate, inclusive.

 
xs:decimal
 UnexcusedAbsencesM

The number of days the student was absent from school without a valid excuse when school was in session between the StartDate and EndDate, inclusive.

 
xs:decimal
 DaysTardyO

The number of days the student was tardy when school was in session between the StartDate and EndDate, inclusive.

 
xs:decimal
 DaysInMembershipM

The number of days the student was present plus the number of days the student was absent when school was in session during the period between the StartDate and EndDate, inclusive.

 
xs:decimal
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.15-1: StudentAttendanceSummary
<StudentAttendanceSummary StudentPersonalRefId="D3476FAE8647384BDA2431EDA3583211" SchoolInfoRefId="CA285746359D75101A8C36432A901A16" SchoolYear="2005"> <StartDate>2004-08-30</StartDate> <StartDay>1</StartDay> <EndDate>2005-06-10</EndDate> <EndDay>180</EndDay> <Resident>Yes</Resident> <FTE>1.00</FTE> <DaysAttended>178</DaysAttended> <ExcusedAbsences>2</ExcusedAbsences> <UnexcusedAbsences>0</UnexcusedAbsences> <DaysTardy>3</DaysTardy> <DaysInMembership>180</DaysInMembership> </StudentAttendanceSummary>
Example 6.14.15-1: StudentAttendanceSummary

6.14.16 StudentContact

This object contains information regarding a contact person for a student.

Note: At least one of the child elements of ContactFlags must have a Yes value. Do not publish the StudentContact instance if one of the child elements does not have a Yes value.

SIF_Events are reported for this object.

StudentContact
Figure 6.14.16-1: StudentContact StudentContact RefId StudentPersonalRefId LocalId OtherIdList OtherId Type Name OtherNames Demographics AddressList PhoneNumberList EmailList Relationship EmployerType EducationalLevel ContactFlags ParentLegalGuardian PickupRights LivesWith AccessToRecords EmergencyContact HasCustody DisciplinaryContact PrimaryCareProvider ContactSequence SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentContact 

This object contains information regarding a contact person for a student.

Note: At least one of the child elements of ContactFlags must have a Yes value. Do not publish the StudentContact instance if one of the child elements does not have a Yes value.

 
 
@
key
RefIdM

The GUID of this contact.

 
RefIdType
@StudentPersonalRefIdM

The GUID of the student whose contact this is.

 
IdRefType
 LocalIdO

The locally-assigned identifier for this contact. Note: LocalId may be used as a unique person identifier rather than a unique contact identifier. In this case there may be more than one StudentContact instance with the same LocalId.

 
LocalId
 OtherIdListO

Lists all "other" identifiers associated with the contact.

 
List
 OtherIdList/OtherIdMR

Lists an "other" identifier associated with the contact.

 
xs:normalizedString
@TypeM

Code that defines the type of this other ID.

 
NCES0147IdentificationSystemType

subset:

0328
0164
0339
9999
0222
0154
0399
0004
0113
5013
 NameM

The name of the contact. Note: Type attribute value of 04 must be used here.

 
NameOfRecordType
 OtherNamesO

Previous, alternate or other names or aliases associated with the contact.

 
OtherNames
 DemographicsO

Demographic information about the contact.

 
Demographics
 AddressListO

The contact's address(es).

 
AddressList
 PhoneNumberListO

The contact's phone number(s).

 
PhoneNumberList
 EmailListO

The contact's e-mail address(es).

 
EmailList
 RelationshipO

Defines the relationship of the contact to the student.

 
Relationship
 EmployerTypeO

Code that defines the employer type.

 
NCES0614EmployerTypeType
 EducationalLevelO

The highest level of education completed by the contact person.

 
EducationalLevel
 ContactFlagsM

Contains Yes/No characteristics of the contact person's role. Provide a Yes value for all that apply. At least one of the child elements of ContactFlags must have a Yes value. Do not publish the StudentContact instance if one of the child elements does not have a Yes value.

 
 
 ContactFlags/ParentLegalGuardian
     
C

Does the individual have parental or legal guardianship responsibility for the student?

 
values:
Yes
No
Unknown
 ContactFlags/PickupRights
     
C

This element tells whether or not the contact has pickup rights.

 
values:
Yes
No
Unknown
 ContactFlags/LivesWithC

Does the student live with this contact?

 
values:
Yes
No
Unknown
 ContactFlags/AccessToRecords
     
C

Does this contact have access to the student's records?

 
values:
Yes
No
Unknown
 ContactFlags/EmergencyContact
     
C

Should this contact be notified in case of emergency?

 
values:
Yes
No
Unknown
 ContactFlags/HasCustodyC

Does this contact have or share custody of the student?

 
values:
Yes
No
Unknown
 ContactFlags/DisciplinaryContact
     
C

Is this person to be contacted in case of disciplinary action?

 
values:
Yes
No
Unknown
 ContactFlags/PrimaryCareProvider
     
C

Does this person provide daily living or personal assistance to the student?

 
values:
Yes
No
Unknown
 ContactSequenceO

Number indicating the order in which the person should be contacted.

 
xs:unsignedInt
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.16-1: StudentContact
<StudentContact RefId="D3E34B379D75101A8C3D00AA001A1652" StudentPersonalRefId="DEE34B359D75101A8C3D00AA001A1652"> <Name Type="04"> <LastName>Johnson</LastName> <FirstName>Alicia</FirstName> </Name> <Demographics> <Gender>F</Gender> </Demographics> <AddressList> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(604) 555-1212</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">contact@sifinfo.org</Email> </EmailList> <Relationship> <Code>1735</Code> </Relationship> <EmployerType>1805</EmployerType> <EducationalLevel>1051</EducationalLevel> <ContactFlags> <PickupRights>Yes</PickupRights> </ContactFlags> </StudentContact>
Example 6.14.16-1: StudentContact

6.14.17 StudentDailyAttendance

This object provides daily attendance information for a particular student in a particular school on a particular date.

SIF_Events are reported for this object.

StudentDailyAttendance
Figure 6.14.17-1: StudentDailyAttendance StudentDailyAttendance StudentPersonalRefId SchoolInfoRefId Date SchoolYear AttendanceCodeInfoRefId TimeIn TimeOut AttendanceNote SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentDailyAttendance 

This object provides daily attendance information for a particular student in a particular school on a particular date.

 
 
@
key
StudentPersonalRefIdM

The ID (GUID) of the student for whom this attendance information is being reported.

 
IdRefType
@
key
SchoolInfoRefIdM

The ID (GUID) of the school for which this attendance information is being reported.

 
IdRefType
@
key
DateM

The calendar date to which this attendance information relates.

 
xs:date
@SchoolYearM

School year for which this enrollment is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 AttendanceCodeInfoRefIdM

The ID (GUID) of the locally-defined daily attendance code information.

 
IdRefType
 TimeInO

The time the student entered or returned to school.

 
xs:time
 TimeOutO

The time the student left school.

 
xs:time
 AttendanceNoteO

Note related to this particular attendance.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.17-1: StudentDailyAttendance
<StudentDailyAttendance StudentPersonalRefId="D3E34B359D75101A8C3D00AA001A1652" SchoolInfoRefId="CA285746359D75101A8C36432A901A16" Date="2002-11-01" SchoolYear="2003"> <AttendanceCodeInfoRefId>84726485960937465A53B2781BB260AA</AttendanceCodeInfoRefId> <TimeIn>13:30:00</TimeIn> <TimeOut>12:05:00</TimeOut> <AttendanceNote>Left for Orthodontist appt. and returned to school afterward.</AttendanceNote> </StudentDailyAttendance>
Example 6.14.17-1: StudentDailyAttendance

6.14.18 StudentPersonal

This object contains all the personal information related to the student.

SIF_Events are reported for this object.

StudentPersonal
Figure 6.14.18-1: StudentPersonal StudentPersonal RefId AlertMessages AlertMessage Type MedicalAlertMessages MedicalAlertMessage Severity LocalId StateProvinceId ElectronicIdList OtherIdList OtherId Type Name OtherNames Demographics AddressList PhoneNumberList EmailList ProjectedGraduationYear OnTimeGraduationYear GraduationDate MostRecent SchoolLocalId HomeroomLocalId GradeLevel AcceptableUsePolicy IDEA Migrant Title1 GiftedTalented EconomicDisadvantage ELL Homeless Section504 VocationalConcentrator Immigrant NeglectedDelinquent SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentPersonal 

This object contains all the personal information related to the student.

 
 
@
key
RefIdM

The GUID of the student.

 
RefIdType
 AlertMessagesO List
 AlertMessages/AlertMessage
     
MR

This is an alert message that is associated with the student.

 
xs:string
@TypeM

This attribute specifies what type of alert message this is.

 
values:
Legal
Custody, guardian, court orders (e.g. must attend school), lawsuits, etc.
Discipline
Student is suspended, expelled, on probation, etc.
Educational
Section 504 student, IDEA/IEP, academic probation, etc.
Other
 MedicalAlertMessagesO List
 MedicalAlertMessages/MedicalAlertMessage
     
MR

Medical alert associated with the student.

 
xs:string
@SeverityM

The level of severity of this medical alert.

 
values:
Low
Moderate
High
Severe
Unknown
 LocalIdM

The locally-assigned identifier for this student.

 
LocalId
 StateProvinceIdO

The state-assigned identifier for this student.

 
StateProvinceId
 ElectronicIdListO

Electronic identifier(s) associated with this entity.

 
ElectronicIdList
 OtherIdListO

Lists all "other" identifiers associated with the student.

 
List
 OtherIdList/OtherIdMR

Lists an "other" identifier associated with the student.

 
xs:normalizedString
@TypeM

Code that defines the type of this other ID.

 
NCES0147IdentificationSystemType

subset:

0164
0339
0338
0879
9999
0222
0764
0154
0004
0113
5013
 NameM

Name of the student. Note: Type value of 04 must be used here.

 
NameOfRecordType
 OtherNamesO

Previous, alternate or other names or aliases associated with the student.

 
OtherNames
 DemographicsO

This element contains information related to student demographics.

 
Demographics
 AddressListO

The student's address(es)

 
AddressList
 PhoneNumberListO

The student's phone number(s).

 
PhoneNumberList
 EmailListO

The student's e-mail address(es).

 
EmailList
 ProjectedGraduationYearO

Currently projected graduation year.

 
ProjectedGraduationYear
 OnTimeGraduationYearO

First projected graduation year, usually determined when student is accepted into 9th grade.

 
OnTimeGraduationYear
 GraduationDateO Date student officially graduated from secondary education.  GraduationDate
 MostRecentO

Container for elements reflecting the most recent enrollment of a student. If the student is currently enrolled in the district, the elements contain current information.

 
 
 MostRecent/SchoolLocalIdO

Local identifier representing the school in which the student is or was most recently enrolled in the district.

 
LocalId
 MostRecent/HomeroomLocalId
     
O

Local identifier representing the current or most recent homeroom in which the student is or was most recently assigned in the district. Use the value from RoomInfo/HomeroomNumber if supported. If not supported, use the value from RoomInfo/RoomNumber. If neither is supported, use the most appropriate value from the agent’s application.

 
LocalId
 MostRecent/GradeLevelO

The current or most recent grade level of the student in the district.

 
GradeLevel
 AcceptableUsePolicyO

Does the student have a current signed Acceptable Use Policy document for system access?

 
values:
Yes
No
 IDEAO IDEA
 MigrantO Migrant
 Title1O Title1
 GiftedTalentedO GiftedTalented
 EconomicDisadvantageO EconomicDisadvantage
 ELLO ELL
 HomelessO Homeless
 Section504O Section504
 VocationalConcentratorO VocationalConcentrator
 ImmigrantO Immigrant
 NeglectedDelinquentO NeglectedDelinquent
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.18-1: StudentPersonal
<StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <AlertMessages> <AlertMessage Type="Legal">This is the Legal Alert for Joe Student</AlertMessage> </AlertMessages> <LocalId>P00001</LocalId> <StateProvinceId>WB0025</StateProvinceId> <ElectronicIdList> <ElectronicId Type="Barcode">206654</ElectronicId> </ElectronicIdList> <Name Type="04"> <LastName>Student</LastName> <FirstName>Joe</FirstName> <MiddleName /> <PreferredName>Joe</PreferredName> </Name> <Demographics> <Gender>M</Gender> </Demographics> <AddressList> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(312) 555-1234</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">Joe.Student@anyschool.com</Email> </EmailList> <OnTimeGraduationYear>2007</OnTimeGraduationYear> </StudentPersonal>
Example 6.14.18-1: StudentPersonal

6.14.19 StudentPicture

This object contains information about the student's picture.

SIF_Events are reported for this object.

StudentPicture
Figure 6.14.19-1: StudentPicture StudentPicture StudentPersonalRefId SchoolYear PictureSource Type OKToPublish SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentPicture 

This object contains information about the student's picture.

 
 
@
key
StudentPersonalRefIdM

This is the GUID of the student whose picture this is.

 
IdRefType
@SchoolYearM

School year for which this enrollment is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 PictureSourceM

This element defines the picture. If the Type attribute is URL, this is the location of the picture in [JPEG] format; if Type is JPEG, this is the [JPEG] image data encoded using the Base64 Content-Transfer-Encoding defined in Section 6.8 of [RFC 2045].

 
URIOrBinaryType
@TypeM

The way the picture is specified.

 
values:
URL
JPEG
 OKToPublishO

Can the picture be published?

 
values:
Yes
No
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.19-1: StudentPicture
<StudentPicture StudentPersonalRefId="D3E34B359D75101A8C3D00AA001A1652" SchoolYear="1999"> <PictureSource Type="URL">http://www.schoolsite.com/pictures/1999/1234.jpg</PictureSource> </StudentPicture>
Example 6.14.19-1: StudentPicture

6.14.20 StudentSchoolEnrollment

This object defines information related to a student's enrollment. StudentSchoolEnrollment instances must not span multiple school years.

Note there is only one current home enrollment at a time per student. Only one instance of the StudentSchoolEnrollment object must exist for a given student with MembershipType=Home and TimeFrame=Current for the time interval between EntryDate and ExitDate, inclusive.

Effective in version 2.0, agents are required to re-publish a StudentSchoolEnrollment object Change event when the TimeFrame attribute changes, regardless of when the data entry is done. This is in addition to the pre-2.0 practice of publishing the object Change event at the time the data changes in the corresponding application.

When the object is re-published, it must contain all the data in the object that is supported by the publisher. For more information, please refer to the supporting documentation.

SIF_Events are reported for this object.

Click here for non-normative background/supplementary documentation on this object.

StudentSchoolEnrollment
Figure 6.14.20-1: StudentSchoolEnrollment StudentSchoolEnrollment RefId StudentPersonalRefId SchoolInfoRefId MembershipType TimeFrame SchoolYear EntryDate EntryType Code OtherCodeList GradeLevel Homeroom SIF_RefObject Advisor SIF_RefObject Counselor SIF_RefObject Calendar SIF_RefObject ExitDate ExitStatus Code OtherCodeList ExitType Code OtherCodeList RecordClosureReason PromotionInfo PromotionStatus FTE FTPTStatus ResidencyStatus Code OtherCodeList NonResidentAttendReason SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentSchoolEnrollment 

This object defines information related to a student's enrollment. StudentSchoolEnrollment instances must not span multiple school years.

Note there is only one current home enrollment at a time per student. Only one instance of the StudentSchoolEnrollment object must exist for a given student with MembershipType=Home and TimeFrame=Current for the time interval between EntryDate and ExitDate, inclusive.

Effective in version 2.0, agents are required to re-publish a StudentSchoolEnrollment object Change event when the TimeFrame attribute changes, regardless of when the data entry is done. This is in addition to the pre-2.0 practice of publishing the object Change event at the time the data changes in the corresponding application.

When the object is re-published, it must contain all the data in the object that is supported by the publisher. For more information, please refer to the supporting documentation.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies a particular enrollment.

 
RefIdType
@StudentPersonalRefIdM

The ID (GUID) of the student to whom this information is linked.

 
IdRefType
@SchoolInfoRefIdM

The ID (GUID) of the school to which this enrollment applies.

 
IdRefType
@MembershipTypeM

The type of this enrollment as it relates to the school identified in SchoolInfoRefId.

 
values:
Home
The school is responsible for reporting the student's membership/child accounting information
Concurrent
The school is not the primary reporting unit for the student's membership/child accounting information
Summer
A summer school enrollment, not part of the regular school year
@TimeFrameM

The timeframe of the enrollment based on the SIF_Date in the SIF_Header of the message. For events, it is determined as of the date the event is generated. For requests and responses, it is calculated based on the date of the request.

 
values:
Current
Event/request date falls between EntryDate and ExitDate (inclusive)
Historical
Event/request date falls after ExitDate
Future
Event/request date falls before EntryDate
@SchoolYearM

School year for which this enrollment is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year). StudentSchoolEnrollment instances must not span multiple school years.

 
SchoolYear
 EntryDateM

The date from when this enrollment is valid.

 
xs:date
 EntryTypeO  
 EntryType/CodeM

Code indicating the type of entry for this enrollment

 
NCES0619EntryTypeType
 EntryType/OtherCodeListO OtherCodeList
 GradeLevelO

Grade or academic level of student.

 
GradeLevel
 HomeroomO

Homeroom for this enrollment.

 
IdRefType
@SIF_RefObjectM

The name of the object referenced.

 
values:
RoomInfo
 AdvisorO

Staff member assigned as an advisor.

 
IdRefType
@SIF_RefObjectM

The name of the object referenced.

 
values:
StaffPersonal
 CounselorO

Staff member assigned as an advisor.

 
IdRefType
@SIF_RefObjectM

The name of the object referenced.

 
values:
StaffPersonal
 CalendarOThe calendar assigned to this enrollment. IdRefType
@SIF_RefObjectMThe name of the object referenced. values:
CalendarSummary
 ExitDateC

The last school calendar day of this enrollment. If the student has exited the school or the enrollment has a RecordClosureReason, ExitDate must have a value.

 
xs:date
 ExitStatusO  
 ExitStatus/CodeM

Code indicating the closure status for this enrollment.

 
NCES0643ExitWithdrawalStatusType
 ExitStatus/OtherCodeListO OtherCodeList
 ExitTypeO  
 ExitType/CodeM

Code indicating the type of exit for this enrollment.

 
NCES0644ExitWithdrawalTypeType
 ExitType/OtherCodeListO OtherCodeList
 RecordClosureReasonO

The reason why this enrollment was closed.

 
values:
SchoolExit
TimeDependentDataChange
EndOfYear
The EndOfYear option must be used to convey status change due to rollover activity.
 PromotionInfoO

Information on a student’s promotion, retention, or demotion related to this enrollment instance.

 
 
 PromotionInfo/PromotionStatus
     
OThis value should be set if this enrollment instance is closed for an end-of-year closeout or a mid-year promotion or demotion. A value other than NA should be specified when the enrollment instance represents an end-of-year closeout or mid-year promotion/demotion. values:
Promoted
Demoted
Retained
NA
 FTEO

Full-time equivalent numeric value of the student's course load during this enrollment, expressed in decimal form, where 1.00 represents a full-time enrollment.

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits2
 FTPTStatusO

An indication of whether the student is enrolled full time or part time.

 
values:
FullTime
PartTime
 ResidencyStatusO

Location of an individual's legal residence relative to (within or outside) the boundaries of the school for this enrollment.

 
 
 ResidencyStatus/CodeM

Code indicating the residency status for this enrollment.

 
NCES0598PublicSchoolResidenceStatusType
 ResidencyStatus/OtherCodeList
     
O OtherCodeList
 NonResidentAttendReasonC

If the school represented by this enrollment is outside of the student's usual attendance area (as indicated in the ResidencyStatus element), this element indicates the reason that the student attends this school.

 
NCES0599NonResidentAttendanceRationaleType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.20-1: StudentSchoolEnrollment
<StudentSchoolEnrollment RefId="A8C3D3E34B359D75101D00AA001A1652" StudentPersonalRefId="D3E34B359D75101A8C3D00AA001A1652" SchoolInfoRefId="D3E34B359D75101A8C3D00AA001A1651" MembershipType="Home" TimeFrame="Current" SchoolYear="2004"> <EntryDate>2004-01-29</EntryDate> <EntryType> <Code>1838</Code> </EntryType> <GradeLevel> <Code>10</Code> </GradeLevel> <Homeroom SIF_RefObject="RoomInfo">D7510D3E34B3591A8C3D00AA001A1651</Homeroom> <Advisor SIF_RefObject="StaffPersonal">B359D3E34D75101A8C3D00AA001A1652</Advisor> <FTE>1.00</FTE> <FTPTStatus>FullTime</FTPTStatus> <ResidencyStatus> <Code>1653</Code> </ResidencyStatus> <NonResidentAttendReason>1658</NonResidentAttendReason> </StudentSchoolEnrollment>
Example 6.14.20-1: StudentSchoolEnrollment

6.14.21 StudentSectionEnrollment

This object contains information about a student's enrollment in a section of a course.

SIF_Events are reported for this object.

StudentSectionEnrollment
Figure 6.14.21-1: StudentSectionEnrollment StudentSectionEnrollment RefId StudentPersonalRefId SectionInfoRefId SchoolYear EntryDate ExitDate ScheduleInfoOverrideList ScheduleInfoOverride Override TermInfoRefId MeetingTimeList MeetingTime CreditsAttempted Type SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentSectionEnrollment 

This object contains information about a student's enrollment in a section of a course.

 
 
@
key
RefIdM

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

 
RefIdType
@StudentPersonalRefIdM

The ID (GUID) of the student to whom the enrollment information applies.

 
IdRefType
@SectionInfoRefIdM

The ID (GUID) of the section in which this student is enrolled.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 EntryDateO

Date from when this course section enrollment is valid.

 
xs:date
 ExitDateO

The last school calendar day (membership day) the student was enrolled in the course section (inclusive).

 
xs:date
 ScheduleInfoOverrideListO

A complete replacement of the standard SectionInfo/ScheduleInfoList for this student's course enrollment.

 
List
 ScheduleInfoOverrideList/
     ScheduleInfoOverride
MR

A complete replacement of the standard SectionInfo/ScheduleInfo for this student's course enrollment. If the student's schedule for this course is different than the standard schedule as defined in SectionInfo, a ScheduleInfoOverride must be provided for each term in which the course is offered, along with the appropriate value for Override. See the use cases for this object for scenario examples.

 
 
@OverrideM

Designates whether or not scheduling information has been overridden with different values for this student.

 
values:
Yes
No
@TermInfoRefIdM

The ID (GUID) of the term to which this override information relates for this student.

 
RefIdType
 ScheduleInfoOverrideList/
     ScheduleInfoOverride/MeetingTimeList
     
O List
 ScheduleInfoOverrideList/
     ScheduleInfoOverride/MeetingTimeList/
     MeetingTime
MR

Time(s) this section meets for this student; this should be a subset of the meeting times for the section.

 
MeetingTime
 CreditsAttemptedO

Number of credits the student is attempting to earn. If present, this element's value overrides the credits in SchoolCourseInfo and SectionInfo.

 
xs:decimal
@TypeM

The type of credit.

 
NCES0108CreditTypeEarnedType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.21-1: StudentSectionEnrollment
<StudentSectionEnrollment RefId="983AC16598793002C3D00AA00456789D" StudentPersonalRefId="CAE293165987101A8C3D00AA00456789" SectionInfoRefId="9076AB23E386112B7EA2256100BB3312" SchoolYear="2002"> <EntryDate>2001-09-05</EntryDate> <ExitDate>2002-03-01</ExitDate> <ScheduleInfoOverrideList> <ScheduleInfoOverride Override="Yes" TermInfoRefId="099BBC3227490063E97403434C5C2207"> <MeetingTimeList> <MeetingTime> <TimetableDay>M</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>W</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>F</TimetableDay> <TimetablePeriod>6</TimetablePeriod> </MeetingTime> </MeetingTimeList> </ScheduleInfoOverride> <ScheduleInfoOverride Override="Yes" TermInfoRefId="A2334007263E97403434C5C220798765"> <MeetingTimeList> <MeetingTime> <TimetableDay>M</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>W</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> <MeetingTime> <TimetableDay>F</TimetableDay> <TimetablePeriod>4</TimetablePeriod> </MeetingTime> </MeetingTimeList> </ScheduleInfoOverride> </ScheduleInfoOverrideList> <CreditsAttempted Type="0588">1</CreditsAttempted> </StudentSectionEnrollment>
Example 6.14.21-1: StudentSectionEnrollment

6.14.22 StudentSnapshot

This object provides a snapshot of a student's record on a given day. All information reported in the object is reported as it appeared in the responding system on the date specified in SnapDate. It can be used for synching data across applications, for periodically loading a data warehouse, or for vertical reporting of data to a requesting authority, such as a state department of education.

SIF_Events are not reported for this object.

StudentSnapshot
Figure 6.14.22-1: StudentSnapshot StudentSnapshot SnapDate StudentPersonalRefId SchoolYear Name LocalId StateProvinceId Address RaceList HispanicLatino Gender BirthDate Age ProjectedGraduationYear OnTimeGraduationYear GraduationDate GraduationAward GraduationOnTime HomeEnrollment StudentSchoolEnrollmentRefId SchoolName SchoolInfoRefId LocalId StateProvinceId Status GradeLevel Homeroom SIF_RefObject HomeroomNumber FullYearEnrollment IDEA Migrant Title1 GiftedTalented EconomicDisadvantage ELL Homeless Section504 VocationalConcentrator Immigrant NeglectedDelinquent FreeAndReducedStatus SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentSnapshot 

This object provides a snapshot of a student's record on a given day. All information reported in the object is reported as it appeared in the responding system on the date specified in SnapDate. It can be used for synching data across applications, for periodically loading a data warehouse, or for vertical reporting of data to a requesting authority, such as a state department of education.

 
 
@
key
SnapDateM

The date the data snapshot was taken. Some elements are provided/calculated as of the SnapDate, and some are provided as of the date the object is requested (i.e., some can be historical and some will represent the last information available/last known value). In a SIS the following elements are provided/calculated as of the SnapDate: Age, HomeEnrollment and all its child elements. Other applications (e.g., data warehouses) may be able to provide values for other elements on various snap dates.

 
xs:date
@
key
StudentPersonalRefIdM

The ID (GUID) of the student to whom this information relates.

 
IdRefType
@SchoolYearM

School year in which the SnapDate falls, and for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g. 2007 for the 2006-07 school year).

 
SchoolYear
 NameO

The name of the student.

 
Name
 LocalIdM

The locally-defined identifier for this student.

 
LocalId
 StateProvinceIdO

The state-assigned identifier for this student.

 
StateProvinceId
 AddressO

The address of the student.

 
Address
 RaceListO

Person's race

 
RaceList
 HispanicLatinoO HispanicLatino
 GenderO

Person's gender.

 
Gender
 BirthDateO

The person's date of birth.

 
BirthDate
 AgeO

The age (in years) of the student on the date in SnapDate.

 
xs:unsignedInt
 ProjectedGraduationYearO

Currently projected graduation year.

 
ProjectedGraduationYear
 OnTimeGraduationYearO

First projected graduation year, usually determined when student is accepted into ninth grade.

 
OnTimeGraduationYear
 GraduationDateO

Date student officially graduated from secondary education.

 
GraduationDate
 GraduationAwardO

The award received upon graduation.

 
values:
Diploma
Certificate
GED
 GraduationOnTimeO

Did the student graduate in the expected number of years?

 
values:
Yes
No
Unavailable
NA
 HomeEnrollmentM

Enrollment-related information for the school that is responsible for reporting the student's membership/child accounting information. This is most likely the primary enrollment site for the student.

 
 
 HomeEnrollment/StudentSchoolEnrollmentRefId
     
O

The ID (GUID) of the StudentSchoolEnrollment object from which the enrollment information is derived.

 
IdRefType
 HomeEnrollment/SchoolName
     
O

Name of the school.

 
xs:normalizedString
 HomeEnrollment/SchoolInfoRefId
     
C

The ID (GUID) of the school. Provide both the HomeEnrollment/SchoolInfoRefId and HomeEnrollment/LocalId elements if possible. If not, one or the other must be provided.

 
IdRefType
 HomeEnrollment/LocalIdC

The locally-defined identifier for this school. Provide both the HomeEnrollment/LocalId and HomeEnrollment/SchoolId elements if possible. If not, one or the other must be provided.

 
LocalId
 HomeEnrollment/StateProvinceId
     
O

The state or province defined identifier for this school.

 
StateProvinceId
 HomeEnrollment/StatusM

Enrollment status as of the SnapDate.

 
values:
Active
Inactive
Unreported
 HomeEnrollment/GradeLevel
     
M

Grade or academic level of student.

 
GradeLevel
 HomeEnrollment/HomeroomO IdRefType
@SIF_RefObjectM

The name of the SIF object referenced.

 
values:
RoomInfo
 HomeEnrollment/HomeroomNumber
     
O

The locally-defined identifier for this room.

 
HomeroomNumber
 HomeEnrollment/FullYearEnrollment
     
O

An indication as to whether or not the student was enrolled for the whole school year. If the SchoolYear is in progress as of the SnapDate, use the value "Unknown".

 
values:
Yes
No
Unknown
 IDEAO IDEA
 MigrantO Migrant
 Title1O Title1
 GiftedTalentedO GiftedTalented
 EconomicDisadvantageO EconomicDisadvantage
 ELLO ELL
 HomelessO Homeless
 Section504O Section504
 VocationalConcentratorO VocationalConcentrator
 ImmigrantO Immigrant
 NeglectedDelinquentO NeglectedDelinquent
 FreeAndReducedStatusO

Student's eligibility for free and reduced meals.

 
values:
Free
Reduced
None
NA
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.22-1: StudentSnapshot
<StudentSnapshot SnapDate="2003-10-01" StudentPersonalRefId="A15484ED564995254A4568EFFC5100BD" SchoolYear="2004"> <Name Type="04"> <LastName>Johnson</LastName> <FirstName>Alison</FirstName> </Name> <LocalId>1089543</LocalId> <StateProvinceId>A50321</StateProvinceId> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> <RaceList> <Race> <Code>1002</Code> </Race> </RaceList> <Gender>M</Gender> <BirthDate>1988-03-02</BirthDate> <Age>15</Age> <ProjectedGraduationYear>2007</ProjectedGraduationYear> <OnTimeGraduationYear>2006</OnTimeGraduationYear> <HomeEnrollment> <StudentSchoolEnrollmentRefId>0847987235489729AAA73011BB365EC3</StudentSchoolEnrollmentRefId> <SchoolName>Academy HS</SchoolName> <SchoolInfoRefId>834787627836AC74B05EE3066ABC9231</SchoolInfoRefId> <LocalId>ACAD</LocalId> <StateProvinceId>057302</StateProvinceId> <Status>Active</Status> <GradeLevel> <Code>09</Code> </GradeLevel> <Homeroom SIF_RefObject="RoomInfo">9475683579BA648E0548DDA8365700F4</Homeroom> <HomeroomNumber>B024</HomeroomNumber> <FullYearEnrollment>Unknown</FullYearEnrollment> </HomeEnrollment> <IDEA>No</IDEA> <Migrant>No</Migrant> <Title1>Yes</Title1> <GiftedTalented>No</GiftedTalented> <EconomicDisadvantage>Yes</EconomicDisadvantage> <ELL>No</ELL> <Homeless>No</Homeless> <Section504>No</Section504> <VocationalConcentrator>No</VocationalConcentrator> <Immigrant>No</Immigrant> </StudentSnapshot>
Example 6.14.22-1: StudentSnapshot

6.14.23 TermInfo

This object provides information about a term; i.e., a reportable period of time.

SIF_Events are reported for this object.

TermInfo
Figure 6.14.23-1: TermInfo TermInfo RefId SchoolInfoRefId SchoolYear StartDate EndDate Description RelativeDuration TermCode Track TermSpan MarkingTerm SchedulingTerm AttendanceTerm SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 TermInfo 

This object provides information about a term; i.e., a reportable period of time.

 
 
@
key
RefIdM

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

 
RefIdType
@SchoolInfoRefIdM

The ID (GUID) that identifies the school where the term is used.

 
IdRefType
@SchoolYearM

School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., 2007 for the 2006-07 school year).

 
SchoolYear
 StartDateM

Starting date of the term.

 
xs:date
 EndDateM

Ending date of the term (CCYYMMDD).

 
xs:date
 DescriptionO

Text-based description of the term.

 
xs:normalizedString
 RelativeDurationO

Portion of the school year represented by this term, expressed in decimal form precise to 4 decimal places (e.g., 0.1333).

 
xs:decimal
xs:minInclusive0
xs:maxInclusive1
xs:fractionDigits4
 TermCodeO

Locally-defined code.

 
xs:normalizedString
 TrackO

The name, description, or code of the track that contains this term. This is used when there are multiple tracks within a school. For instance, kindergarten commonly has a different set of terms than other grades within the school.

 
xs:normalizedString
 TermSpanO TermSpan
 MarkingTermO

Does this TermInfo represent a marking period?

 
values:
Yes
No
 SchedulingTermO

Does this TermInfo represent a scheduling term?

 
values:
Yes
No
 AttendanceTermO

Does this TermInfo represent an attendance term?

 
values:
Yes
No
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.14.23-1: TermInfo
<TermInfo RefId="7E59D75101A80A70016375DE097A0726" SchoolInfoRefId="A2E35B359D75101A8C3D00AA001A0000" SchoolYear="2004"> <StartDate>2003-01-05</StartDate> <EndDate>2004-04-01</EndDate> <Description>Spring Semester 2004</Description> <RelativeDuration>0.1333</RelativeDuration> <TermCode>Sp2004</TermCode> <Track>PreK</Track> <TermSpan> <Code>0828</Code> <OtherCodeList> <OtherCode Codeset="Text">Semester</OtherCode> </OtherCodeList> </TermSpan> </TermInfo>
Example 6.14.23-1: TermInfo

6.15 Student Record Exchange Task Force

6.15.1 StudentRecordExchange

This object contains references to the set of records associated with and available for a given student.

SIF_Events are not reported for this object.

StudentRecordExchange
Figure 6.15.1-1: StudentRecordExchange StudentRecordExchange RefId StateProvinceId LocalId StudentPersonalRefId Records StudentDemographicRecordRefId StudentAcademicRecordRefId StudentSpecialEducationRecordRefId OtherRecords StudentRecordPackageRefId SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentRecordExchange 

This object contains references to the set of records associated with and available for a given student.

 
 
@RefIdM

The GUID that uniquely identifies an instance of this object.

 
RefIdType
 StateProvinceIdC

A unique student identifier outside of SIF.

To request this object for a given student, one or more of StateProvinceId, LocalId or StudentPersonalRefId must be included when querying; matched records include one or more of the supplied values.

 
StateProvinceId
 LocalIdC

A locally-defined student identifier.

 
LocalId
 StudentPersonalRefIdC

An associated StudentPersonal object.

 
IdRefType
 RecordsM

All records associated with the student.

 
 
 Records/StudentDemographicRecordRefId
     
M IdRefType
 Records/StudentAcademicRecordRefId
     
O IdRefType
 Records/StudentSpecialEducationRecordRefId
     
O IdRefType
 Records/OtherRecordsO

Other records or content not defined by SIF, but associated with the student. Wrapped in StudentRecordPackage.

 
List
 Records/OtherRecords/StudentRecordPackageRefId
     
MR IdRefType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.15.1-1: StudentRecordExchange
<StudentRecordExchange RefId="0EAF9D6DA4854F348103B04BFEAC65B2"> <StateProvinceId>2983472</StateProvinceId> <Records> <StudentDemographicRecordRefId>0B4AC4176FED4F00BCB6FBF1AE466FD2</StudentDemographicRecordRefId> <StudentAcademicRecordRefId>D932E34082D04C048112729922B58A93</StudentAcademicRecordRefId> <StudentSpecialEducationRecordRefId>DA92717DE79A4D428E1107F5DC4ECED8</StudentSpecialEducationRecordRefId> <OtherRecords> <StudentRecordPackageRefId>25FCD7C038E44E38A025FFD609B9D190</StudentRecordPackageRefId> </OtherRecords> </Records> </StudentRecordExchange>
Example 6.15.1-1: StudentRecordExchange

6.15.2 StudentDemographicRecord

Conveys a student's demographic data for student record exchange and transcript purposes.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

SIF_Events are not reported for this object.

StudentDemographicRecord
Figure 6.15.2-1: StudentDemographicRecord StudentDemographicRecord RefId SIF_RefId SIF_RefObject ReportingDate StudentPersonalData LocalId StateProvinceId SSN OtherIdList OtherId Type Name OtherNames DemographicsData RaceList Gender BirthDate EnglishProficiency LanguageList AddressList PhoneNumberList IDEA Migrant Title1 GiftedTalented EconomicDisadvantage ELL Homeless Section504 VocationalConcentrator Immigrant NeglectedDelinquent StudentContactsSummary ParentGuardian1 Name PhoneNumberList AddressList ParentGuardian2 Name PhoneNumberList AddressList SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentDemographicRecord 

Conveys a student's demographic data for student record exchange and transcript purposes.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

 
 
@
key
RefIdM

The ID (GUID) of this record.

 
RefIdType
@SIF_RefIdM

The GUID of an associated object, either StudentRecordExchange or StudentPersonal.

 
RefIdType
@SIF_RefObjectM

The associated object type.

 
values:
StudentRecordExchange
StudentPersonal
 ReportingDateM

The date this record was prepared.

 
xs:date
 StudentPersonalDataM

Collects elements of interest from StudentPersonal.

 
 
 StudentPersonalData/LocalId
     
O LocalId
 StudentPersonalData/StateProvinceId
     
O StateProvinceId
 StudentPersonalData/SSNO SSN
 StudentPersonalData/OtherIdList
     
O

Lists all "other" identifiers associated with the student.

 
List
 StudentPersonalData/OtherIdList/
     OtherId
MR

Lists an "other" identifier associated with the student.

 
xs:normalizedString
@TypeM

Code that defines the type of this other ID.

 
NCES0147IdentificationSystemType

subset:

0164
0339
0338
0879
9999
0222
0764
0154
0113
5013
 StudentPersonalData/NameM

Name of the student. Note: Type value of 04 must be used here.

 
NameOfRecordType
 StudentPersonalData/OtherNames
     
O

Previous, alternate or other names or aliases associated with the student.

 
OtherNames
 StudentPersonalData/DemographicsData
     
O

Collects elements of interest from Demographics.

 
 
 StudentPersonalData/DemographicsData/
     RaceList
O RaceList
 StudentPersonalData/DemographicsData/
     Gender
O Gender
 StudentPersonalData/DemographicsData/
     BirthDate
O BirthDate
 StudentPersonalData/DemographicsData/
     EnglishProficiency
OPerson's proficiency in English. EnglishProficiency
 StudentPersonalData/DemographicsData/
     LanguageList
OList of languages an individual uses to communicate. LanguageList
 StudentPersonalData/AddressList
     
O

The address of the student.

 
AddressList
 StudentPersonalData/PhoneNumberList
     
O PhoneNumberList
 StudentPersonalData/IDEAO IDEA
 StudentPersonalData/Migrant
     
O Migrant
 StudentPersonalData/Title1
     
O Title1
 StudentPersonalData/GiftedTalented
     
O GiftedTalented
 StudentPersonalData/EconomicDisadvantage
     
O EconomicDisadvantage
 StudentPersonalData/ELLO ELL
 StudentPersonalData/Homeless
     
O Homeless
 StudentPersonalData/Section504
     
O Section504
 StudentPersonalData/VocationalConcentrator
     
O VocationalConcentrator
 StudentPersonalData/Immigrant
     
O Immigrant
 StudentPersonalData/NeglectedDelinquent
     
O NeglectedDelinquent
 StudentContactsSummaryO

Reports up to two parents/guardians of the student.

 
 
 StudentContactsSummary/ParentGuardian1
     
M

First parent/guardian.

 
 
 StudentContactsSummary/ParentGuardian1/
     Name
M Name
 StudentContactsSummary/ParentGuardian1/
     PhoneNumberList
O PhoneNumberList
 StudentContactsSummary/ParentGuardian1/
     AddressList
O AddressList
 StudentContactsSummary/ParentGuardian2
     
O

Second parent/guardian.

 
 
 StudentContactsSummary/ParentGuardian2/
     Name
M Name
 StudentContactsSummary/ParentGuardian2/
     PhoneNumberList
O PhoneNumberList
 StudentContactsSummary/ParentGuardian2/
     AddressList
O AddressList
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.15.2-1: StudentDemographicRecord
<StudentDemographicRecord RefId="0B4AC4176FED4F00BCB6FBF1AE466FD2" SIF_RefObject="StudentRecordExchange" SIF_RefId="0EAF9D6DA4854F348103B04BFEAC65B2"> <ReportingDate>2006-09-26</ReportingDate> <StudentPersonalData> <LocalId>00356</LocalId> <StateProvinceId>2983472</StateProvinceId> <SSN>399091093</SSN> <Name Type="04"> <LastName>Costis</LastName> <FirstName>Martha</FirstName> <MiddleName>Parke</MiddleName> </Name> <DemographicsData> <Gender>F</Gender> </DemographicsData> </StudentPersonalData> <StudentContactsSummary> <ParentGuardian1> <Name Type="04"> <LastName>Costis</LastName> <FirstName>George</FirstName> </Name> </ParentGuardian1> <ParentGuardian2> <Name Type="04"> <LastName>Costis</LastName> <FirstName>Martha</FirstName> </Name> </ParentGuardian2> </StudentContactsSummary> </StudentDemographicRecord>
Example 6.15.2-1: StudentDemographicRecord

6.15.3 StudentAcademicRecord

This object conveys a student's academic record data for student record exchange and transcript purposes.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

SIF_Events are not reported for this object.

StudentAcademicRecord
Figure 6.15.3-1: StudentAcademicRecord StudentAcademicRecord RefId SIF_RefId SIF_RefObject ReportingDate StudentSchoolEnrollmentData SchoolAttendedRefId GradeLevel Advisor StaffPersonalData Name Title AddressList PhoneNumberList Counselor StaffPersonalData Name Title AddressList PhoneNumberList DistrictEntryDate SchoolAttendanceHistory SchoolAttended RefId LEAInfoData LocalId StateProvinceId NCESId LEAName SchoolInfoData LocalId StateProvinceId NCESId SchoolName SchoolURL SchoolContactList AddressList PhoneNumberList IdentificationInfoList GradeLevels AccreditingBody MarkingSystems MarkValueInfoData RefId Name Percentage Minimum Maximum Numeric Precision Scale Low High Letter ValidMark Code NumericEquivalent Description Narrative MaximumSize EnrollmentHistory StudentSchoolEnrollmentData SchoolAttendedRefId SchoolYear EntryDate ExitDate CurrentCourseActivity TermInfoData SchoolAttendedRefId SchoolYear StartDate EndDate Description TermCode Track TermSpan Courses Course SchoolAttendedRefId SchoolCourseInfoData CourseCode StateCourseCode DistrictCourseCode NationalCourseCode SubjectAreaList CourseTitle Description InstructionalLevel CoreAcademicCourse GraduationRequirement Department StartDate EndDate MarkingPeriod TermInfoData StartDate EndDate Description TermCode Track TermSpan GradeLevelWhenTaken MarkData MarkValueInfoDataRefId Percentage Numeric Letter Narrative CourseCreditsAttempted CourseHistory Term TermInfoData SchoolAttendedRefId SchoolYear StartDate EndDate Description TermCode Track TermSpan Courses Course SchoolAttendedRefId SchoolCourseInfoData CourseCode StateCourseCode DistrictCourseCode NationalCourseCode SubjectAreaList CourseTitle Description InstructionalLevel CoreAcademicCourse GraduationRequirement Department StartDate EndDate MarkingPeriods MarkingPeriod SchoolAttendedRefId TermInfoData StartDate EndDate Description TermCode Track TermSpan GradeLevelWhenTaken MarkData MarkValueInfoDataRefId Percentage Numeric Letter Narrative CourseCreditsAttempted CourseCreditsEarned CreditType ExcessiveAbsenceIndicator DaysAbsent DaysPresent AcademicPerformanceHistory TermPerformance TermInfoData SchoolYear StartDate EndDate Description TermCode Track TermSpan GradeLevelWhenTaken CreditsAttempted CreditsEarned GPACreditsAttempted GPACreditsEarned GPAGradePoints GPA WeightedGPA DaysAbsent DaysPresent AcademicPerformanceSummary TotalCreditsAttempted TotalCreditsEarned CumulativeGPACreditsEarned CumulativeGradePoints CumulativeGPA GPAType ClassRank ClassTotalNumber ClassRankingDate ProjectedGraduationDate GraduationDate GraduationDiplomaType AcademicTrack AcademicFoci AcademicFocus Code OtherCodeList AcademicSubjects AcademicSubject Code OtherCodeList AssessmentPerformanceHistory Assessment Name AdministrationDate Form Level StudentGradeLevelWhenAssessed SubtestCategory TestScoreType TestScore AdditionalGraduationRequirementPerformanceHistory Requirement Name Method Status StatusDeterminationDate ActivityAwardHistory ActivityAward Name InvolvementCode InvolvementBeginningDate InvolvementEndingDate InvolvementAmount HonorsInformationCode HonorsDescription DiplomaCredentialHonorsCode DiplomaCredentialHonorsDescription SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentAcademicRecord 

This object conveys a student's academic record data for student record exchange and transcript purposes.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

 
 
@
key
RefIdM

The ID (GUID) of this record.

 
RefIdType
@SIF_RefIdM

The GUID of an associated object, either StudentRecordExchange or StudentPersonal.

 
RefIdType
@SIF_RefObjectM

The associated object type.

 
values:
StudentRecordExchange
StudentPersonal
 ReportingDateM

The date this record was prepared.

 
xs:date
 StudentSchoolEnrollmentDataM

Collects elements of interest from StudentSchoolEnrollment.

 
 
@SchoolAttendedRefIdM

References the school of record for the student (see SchoolAttended).

 
IdRefType
 StudentSchoolEnrollmentData/
     GradeLevel
M GradeLevel
 StudentSchoolEnrollmentData/
     Advisor
O

Staff member assigned to the student as an advisor.

 
 
 StudentSchoolEnrollmentData/
     Advisor/StaffPersonalData
     
M

Collects elements of interest from StaffPersonal.

 
 
 StudentSchoolEnrollmentData/
     Advisor/StaffPersonalData/
     Name
M Name
 StudentSchoolEnrollmentData/
     Advisor/StaffPersonalData/
     Title
O xs:normalizedString
 StudentSchoolEnrollmentData/
     Advisor/StaffPersonalData/
     AddressList
O AddressList
 StudentSchoolEnrollmentData/
     Advisor/StaffPersonalData/
     PhoneNumberList
O PhoneNumberList
 StudentSchoolEnrollmentData/
     Counselor
O

Staff member assigned to the student as a counselor.

 
 
 StudentSchoolEnrollmentData/
     Counselor/StaffPersonalData
     
M

Collects elements of interest from StaffPersonal.

 
 
 StudentSchoolEnrollmentData/
     Counselor/StaffPersonalData/
     Name
M Name
 StudentSchoolEnrollmentData/
     Counselor/StaffPersonalData/
     Title
O xs:normalizedString
 StudentSchoolEnrollmentData/
     Counselor/StaffPersonalData/
     AddressList
O AddressList
 StudentSchoolEnrollmentData/
     Counselor/StaffPersonalData/
     PhoneNumberList
O PhoneNumberList
 DistrictEntryDateO

The date the student originally enrolled in the district of the school of record.

 
PartialDateType
 SchoolAttendanceHistoryM

Chronology of schools attended in the student's academic career, including the current school if enrolled.

 
List
 SchoolAttendanceHistory/SchoolAttended
     
MR

Data about each individual school attended.

 
 
@RefIdM

ID used internally to StudentAcademicRecord to avoid duplication of school-related data.

 
RefIdType
 SchoolAttendanceHistory/SchoolAttended/
     LEAInfoData
O

Collects elements of interest from LEAInfo.

 
 
 SchoolAttendanceHistory/SchoolAttended/
     LEAInfoData/LocalId
O LocalId
 SchoolAttendanceHistory/SchoolAttended/
     LEAInfoData/StateProvinceId
     
O StateProvinceId
 SchoolAttendanceHistory/SchoolAttended/
     LEAInfoData/NCESId
O NCESId
 SchoolAttendanceHistory/SchoolAttended/
     LEAInfoData/LEAName
M LEAName
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData
M

Collects elements of interest from SchoolInfo.

 
 
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/LocalId
M LocalId
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/StateProvinceId
     
O StateProvinceId
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/NCESId
O NCESId
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/SchoolName
     
M SchoolName
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/SchoolURL
O SchoolURL
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/SchoolContactList
     
O SchoolContactList
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/AddressList
     
O AddressList
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/PhoneNumberList
     
O PhoneNumberList
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/IdentificationInfoList
     
O IdentificationInfoList
 SchoolAttendanceHistory/SchoolAttended/
     SchoolInfoData/GradeLevels
     
O GradeLevels
 SchoolAttendanceHistory/SchoolAttended/
     AccreditingBody
O

Accrediting body for the school.

 
xs:normalizedString
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems
C

Note: Mandatory if school of record. Marking systems/grading tables used by the school.

 
List
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData
     
MR

Marking system/grading table used by the school.

 
 
@RefIdM

ID used internally to StudentAcademicRecord to link marks to their marking systems.

 
RefIdType
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Name
M

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

 
xs:string
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Percentage
C

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

 
 
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Percentage/Minimum
O

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
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Percentage/Maximum
O

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
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Numeric
C

Indicates whether a raw numeric score is accepted.

 
 
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Numeric/Precision
O

Number of significant digits.

 
xs:unsignedInt
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Numeric/Scale
O

Number of decimal places.

 
xs:unsignedInt
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Numeric/Low
O

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

 
xs:decimal
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Numeric/High
O

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

 
xs:decimal
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Letter
C

Indicates whether a letter Mark is accepted.

 
ActionList (ValidMark/Code)
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Letter/ValidMark
MR

List of specific valid letter Marks.

 
 
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Letter/ValidMark/Code
M

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

 
xs:token
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Letter/ValidMark/NumericEquivalent
     
O

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

 
xs:decimal
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Letter/ValidMark/Description
     
O

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

 
xs:string
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Narrative
C

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

 
 
 SchoolAttendanceHistory/SchoolAttended/
     MarkingSystems/MarkValueInfoData/
     Narrative/MaximumSize
O

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

 
xs:unsignedInt
 EnrollmentHistoryO

A list of each enrollment in the schools above (see SchoolAttended).

 
List
 EnrollmentHistory/StudentSchoolEnrollmentData
     
OR

Collects elements of interest from StudentSchoolEnrollment.

 
 
@SchoolAttendedRefIdM

Reference to SchoolAttended.

 
IdRefType
 EnrollmentHistory/StudentSchoolEnrollmentData/
     SchoolYear
O SchoolYear
 EnrollmentHistory/StudentSchoolEnrollmentData/
     EntryDate
O PartialDateType
 EnrollmentHistory/StudentSchoolEnrollmentData/
     ExitDate
C

Note: Mandatory if student exited school.

 
PartialDateType
 CurrentCourseActivityC

Note: Mandatory if coursework is underway. Conveys a student's current coursework along with mid-term marks if applicable.

 
 
 CurrentCourseActivity/TermInfoData
     
M

Collects elements of interest from TermInfo.

 
 
@SchoolAttendedRefIdM

Reference to the school of record for the courses being taken (see SchoolAttended).

 
IdRefType
 CurrentCourseActivity/TermInfoData/
     SchoolYear
O SchoolYear
 CurrentCourseActivity/TermInfoData/
     StartDate
O PartialDateType
 CurrentCourseActivity/TermInfoData/
     EndDate
O PartialDateType
 CurrentCourseActivity/TermInfoData/
     Description
O xs:string
 CurrentCourseActivity/TermInfoData/
     TermCode
O xs:normalizedString
 CurrentCourseActivity/TermInfoData/
     Track
O xs:normalizedString
 CurrentCourseActivity/TermInfoData/
     TermSpan
O TermSpan
 CurrentCourseActivity/Courses
     
M

Courses being taken.

 
List
 CurrentCourseActivity/Courses/
     Course
MR

Course being taken.

 
 
 CurrentCourseActivity/Courses/
     Course/SchoolAttendedRefId
     
C

Reference to the school where the course is being taken (see SchoolAttended); may be omitted if the school is the same as the school of record.

 
IdRefType
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData
     
M

Collects elements of interest from SchoolCourseInfo.

 
 
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     CourseCode
O CourseCode
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     StateCourseCode
O StateCourseCode
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     DistrictCourseCode
O DistrictCourseCode
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     NationalCourseCode
O xs:normalizedString
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     SubjectAreaList
O SubjectAreaList
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     CourseTitle
O CourseTitle
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     Description
O xs:string
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     InstructionalLevel
O InstructionalLevel
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     CoreAcademicCourse
O xs:boolean
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     GraduationRequirement
O GraduationRequirement
 CurrentCourseActivity/Courses/
     Course/SchoolCourseInfoData/
     Department
O xs:normalizedString
 CurrentCourseActivity/Courses/
     Course/StartDate
O

Date course section started.

 
PartialDateType
 CurrentCourseActivity/Courses/
     Course/EndDate
O

Date course section ended, or will end.

 
PartialDateType
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod
M  
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData
     
O

Information related to the span of time associated with the marking period.

 
 
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     StartDate
O PartialDateType
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     EndDate
O PartialDateType
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     Description
O xs:string
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     TermCode
O xs:normalizedString
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     Track
O xs:normalizedString
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/TermInfoData/
     TermSpan
O TermSpan
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/GradeLevelWhenTaken
     
O

Student's grade level at time of course.

 
GradeLevel
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/MarkData
     
C

Note: Mandatory if mid-term mark exists. Mid-term mark.

 
 
@MarkValueInfoDataRefIdM

Reference to marking system at school of record.

 
IdRefType
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/MarkData/
     Percentage
C

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

 
xs:decimal
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/MarkData/
     Numeric
C

The raw numeric score for this mark.

 
xs:unsignedInt
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/MarkData/
     Letter
C

The letter grade for this mark.

 
xs:normalizedString
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/MarkData/
     Narrative
C

The free form text narrative for this mark.

 
xs:string
 CurrentCourseActivity/Courses/
     Course/MarkingPeriod/CourseCreditsAttempted
     
O

Number of course credits attempted.

 
xs:decimal
 CourseHistoryO

Conveys the coursework completed, performance and attendance information for a student's academic career.

 
List
 CourseHistory/TermOR

Time spans by which courses are grouped.

 
 
 CourseHistory/Term/TermInfoData
     
M

Collects elements of interest from TermInfo.

 
 
@SchoolAttendedRefIdM

Reference to the school of record for the time span (see SchoolAttended).

 
IdRefType
 CourseHistory/Term/TermInfoData/
     SchoolYear
O SchoolYear
 CourseHistory/Term/TermInfoData/
     StartDate
O PartialDateType
 CourseHistory/Term/TermInfoData/
     EndDate
O PartialDateType
 CourseHistory/Term/TermInfoData/
     Description
O xs:string
 CourseHistory/Term/TermInfoData/
     TermCode
O xs:normalizedString
 CourseHistory/Term/TermInfoData/
     Track
O xs:normalizedString
 CourseHistory/Term/TermInfoData/
     TermSpan
O TermSpan
 CourseHistory/Term/Courses
     
O  
 CourseHistory/Term/Courses/
     Course
OR  
 CourseHistory/Term/Courses/
     Course/SchoolAttendedRefId
     
C

Reference to the school where the course was taken (see SchoolAttended); may be omitted if the school is the same as the school of record.

 
IdRefType
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData
     
M

Collects elements of interest from SchoolCourseInfo.

 
 
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     CourseCode
O CourseCode
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     StateCourseCode
O StateCourseCode
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     DistrictCourseCode
O DistrictCourseCode
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     NationalCourseCode
O xs:normalizedString
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     SubjectAreaList
O SubjectAreaList
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     CourseTitle
O CourseTitle
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     Description
O xs:string
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     InstructionalLevel
O InstructionalLevel
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     CoreAcademicCourse
O xs:boolean
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     GraduationRequirement
O GraduationRequirement
 CourseHistory/Term/Courses/
     Course/SchoolCourseInfoData/
     Department
O xs:normalizedString
 CourseHistory/Term/Courses/
     Course/StartDate
O

Date course section started.

 
PartialDateType
 CourseHistory/Term/Courses/
     Course/EndDate
O

Date course section ended.

 
PartialDateType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods
M

Student performance/attendance data for each marking period.

 
List
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod
     
MR

Student performance/attendance data for a marking period.

 
 
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     SchoolAttendedRefId
C

Reference to the school where student took the course during the marking period, if different from schools above.

 
IdRefType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData
O

Information related to the span of time associated with the marking period.

 
 
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/StartDate
O PartialDateType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/EndDate
O PartialDateType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/Description
O xs:string
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/TermCode
O xs:normalizedString
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/Track
O xs:normalizedString
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     TermInfoData/TermSpan
O TermSpan
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     GradeLevelWhenTaken
O

Student's grade level at time of course.

 
GradeLevel
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     MarkData
C

Note: Mandatory if mid-term mark exists. Mid-term mark.

 
 
@MarkValueInfoDataRefIdM

Reference to marking system at school of record.

 
IdRefType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     MarkData/Percentage
C

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

 
xs:decimal
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     MarkData/Numeric
C

The raw numeric score for this mark.

 
xs:unsignedInt
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     MarkData/Letter
C

The letter grade for this mark.

 
xs:normalizedString
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     MarkData/Narrative
C

The free form text narrative for this mark.

 
xs:string
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     CourseCreditsAttempted
O

Number of course credits attempted.

 
xs:decimal
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     CourseCreditsEarned
O

Number of course credits earned.

 
xs:decimal
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     CreditType
O

Type of credit.

 
NCES0108CreditTypeEarnedType
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     ExcessiveAbsenceIndicator
     
O

Flag indicating that the student was excessively absent from the class.

 
xs:boolean
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     DaysAbsent
O

Number of days absent.

 
xs:decimal
 CourseHistory/Term/Courses/
     Course/MarkingPeriods/MarkingPeriod/
     DaysPresent
O

Number of days present.

 
xs:decimal
 AcademicPerformanceHistoryO

Provides a summary of a student's academic performance by reporting period.

 
List
 AcademicPerformanceHistory/
     TermPerformance
OR

Individual term performance.

 
 
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData
     
O

Collects elements of interest from TermInfo.

 
 
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     SchoolYear
O SchoolYear
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     StartDate
O PartialDateType
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     EndDate
O PartialDateType
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     Description
O xs:string
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     TermCode
O xs:normalizedString
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     Track
O xs:normalizedString
 AcademicPerformanceHistory/
     TermPerformance/TermInfoData/
     TermSpan
O TermSpan
 AcademicPerformanceHistory/
     TermPerformance/GradeLevelWhenTaken
     
O

Student's grade level at time.

 
GradeLevel
 AcademicPerformanceHistory/
     TermPerformance/CreditsAttempted
     
O

Number of credits attempted.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/CreditsEarned
     
O

Number of credits earned.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/GPACreditsAttempted
     
O

Number of GPA credits attempted.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/GPACreditsEarned
     
O

Number of GPA credits earned.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/GPAGradePoints
     
O

Number of GPA points received.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/GPA
O

Grade point average for term.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/WeightedGPA
     
O

Weighted grade point average for term.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/DaysAbsent
     
O

Number of days absent.

 
xs:decimal
 AcademicPerformanceHistory/
     TermPerformance/DaysPresent
     
O

Number of days present.

 
xs:decimal
 AcademicPerformanceSummaryM

Conveys a cumulative summary of a student's entire academic performance at the time the transcript was generated.

 
 
 AcademicPerformanceSummary/
     TotalCreditsAttempted
O

Total credits attempted during academic career.

 
xs:decimal
 AcademicPerformanceSummary/
     TotalCreditsEarned
O

Total credits earned during academic career.

 
xs:decimal
 AcademicPerformanceSummary/
     CumulativeGPACreditsEarned
     
O

Cumulative number of GPA credits earned during academic career.

 
xs:decimal
 AcademicPerformanceSummary/
     CumulativeGradePoints
O

Cumulative number of grade points earned during academic career.

 
xs:decimal
 AcademicPerformanceSummary/
     CumulativeGPA
O

Cumulative grade point average for academic career.

 
xs:decimal
 AcademicPerformanceSummary/
     GPAType
O

Brief name/description of type of GPA.

 
xs:normalizedString
 AcademicPerformanceSummary/
     ClassRank
O

Student's rank in graduating class.

 
xs:unsignedInt
 AcademicPerformanceSummary/
     ClassTotalNumber
O

Total number of students in student's graduating class.

 
xs:unsignedInt
 AcademicPerformanceSummary/
     ClassRankingDate
O

Date class ranking was determined.

 
PartialDateType
 AcademicPerformanceSummary/
     ProjectedGraduationDate
O

Projected graduation date.

 
PartialDateType
 AcademicPerformanceSummary/
     GraduationDate
C

Note: Mandatory if graduated. Graduation date.

 
PartialDateType
 AcademicPerformanceSummary/
     GraduationDiplomaType
C

Note: Mandatory if graduated. Type of diploma earned.

 
xs:normalizedString
 AcademicPerformanceSummary/
     AcademicTrack
O

An indication of the general nature and difficulty of instruction provided throughout a course.

Note: This element is deprecated, in favor of the two elements below, beginning with Version 2.2.

 
NCES0106CourseInstructionalLevelType
 AcademicPerformanceSummary/
     AcademicFoci
O List
 AcademicPerformanceSummary/
     AcademicFoci/AcademicFocus
     
OR

Indicates the general nature and difficulty of instruction provided throughout a course.

 
 
 AcademicPerformanceSummary/
     AcademicFoci/AcademicFocus/
     Code
M

A code to depict the focus of the educational program (replaces deprecated AcademicTrack.

 
NCES0229ProgramTypeType
 AcademicPerformanceSummary/
     AcademicFoci/AcademicFocus/
     OtherCodeList
O

Alternate codes indicating the general nature and difficulty of the educational program.

 
OtherCodeList
 AcademicPerformanceSummary/
     AcademicSubjects
O List
 AcademicPerformanceSummary/
     AcademicSubjects/AcademicSubject
     
OR

Coding to depict an intended subject area.

 
 
 AcademicPerformanceSummary/
     AcademicSubjects/AcademicSubject/
     Code
M

A code to depict an academic or vocational discipline studied by an individual in an educational program (based on NCES CIP 2000).

 
NCES0373PostsecondarySubjectMatterAreaType
 AcademicPerformanceSummary/
     AcademicSubjects/AcademicSubject/
     OtherCodeList
O

Alternate codes for an academic or vocational discipline studied by an individual in an educational program.

 
OtherCodeList
 AssessmentPerformanceHistoryC

Note: Mandatory if assessments exist. Conveys a history of assessments that the student has taken throughout his/her academic career.

 
List
 AssessmentPerformanceHistory/
     Assessment
MR

A record of performance on an individual assessment.

 
 
 AssessmentPerformanceHistory/
     Assessment/Name
M

Textual description of assessment.

 
xs:normalizedString
 AssessmentPerformanceHistory/
     Assessment/AdministrationDate
     
O

Date the assessment was administered.

 
PartialDateType
 AssessmentPerformanceHistory/
     Assessment/Form
O

Form, version or edition of the test.

 
xs:normalizedString
 AssessmentPerformanceHistory/
     Assessment/Level
O

Free-form text description of the level of the test.

 
xs:string
 AssessmentPerformanceHistory/
     Assessment/StudentGradeLevelWhenAssessed
     
O

Student's grade level when assessed.

 
GradeLevel
 AssessmentPerformanceHistory/
     Assessment/SubtestCategory
     
O

The subtest or subject category of the assessment.

 
xs:normalizedString
 AssessmentPerformanceHistory/
     Assessment/TestScoreType
O

Type of test score.

 
NCES0056AssessmentReportingMethodType
 AssessmentPerformanceHistory/
     Assessment/TestScore
O

Test score.

 
xs:normalizedString
 AdditionalGraduationRequirementPerformanceHistoryC

Note: Mandatory if additional graduation requirements exist. Conveys a student's achievements in relation to additional graduation requirements.

 
List
 AdditionalGraduationRequirementPerformanceHistory/
     Requirement
MR

A record of performance in an individual graduation requirement.

 
 
 AdditionalGraduationRequirementPerformanceHistory/
     Requirement/Name
M

Textual description of the requirement.

 
xs:normalizedString
 AdditionalGraduationRequirementPerformanceHistory/
     Requirement/Method
O

The method by which the requirement was met.

 
xs:string
 AdditionalGraduationRequirementPerformanceHistory/
     Requirement/Status
M

Student's status with regard to the requirement.

 
values:
Met
Not Met
 AdditionalGraduationRequirementPerformanceHistory/
     Requirement/StatusDeterminationDate
     
O

Date the student's status was determined.

 
PartialDateType
 ActivityAwardHistoryC

Note: Mandatory if activities/awards exist. Conveys award the student has received and/or activities in which s/he has been involved.

 
List
 ActivityAwardHistory/ActivityAward
     
MR

A record of an individual award or activity

 
 
 ActivityAwardHistory/ActivityAward/
     Name
M

The title that identifies a particular co-curricular or extra-curricular activity.

 
xs:normalizedString
 ActivityAwardHistory/ActivityAward/
     InvolvementCode
O

The code used to identify the co-curricular or extra-curricular activity in which the individual is involved.

 
NCES0679ActivityInvolvementCodeType
 ActivityAwardHistory/ActivityAward/
     InvolvementBeginningDate
O

The month, day, and year on which the individual began to participate in the activity.

 
PartialDateType
 ActivityAwardHistory/ActivityAward/
     InvolvementEndingDate
O

The month, day, and year on which the individual ceased to participate in the activity.

 
PartialDateType
 ActivityAwardHistory/ActivityAward/
     InvolvementAmount
O

An indication of the degree to which the individual is involved in the activity (e.g., number of hours per week).

 
xs:normalizedString
 ActivityAwardHistory/ActivityAward/
     HonorsInformationCode
O

A designation of the type of academic distinctions or other honors earned by or awarded to the student.

Note: HonorsInformationCode and HonorsDescription are related to honors (athletic award, citizenship award/recognition, medals, honor society membership, etc.) other than graduation and scholar awards and scholarships. DiplomaCredentialHonorsCode and DiplomaCredentialHonorsDescription are focused on graduation honors like cum laude designations (magna, summa), scholar and honors awards, scholarships, and such.

 
NCES0674HonorsTypeType
 ActivityAwardHistory/ActivityAward/
     HonorsDescription
O

A textual description of the distinction or honor.

 
xs:normalizedString
 ActivityAwardHistory/ActivityAward/
     DiplomaCredentialHonorsCode
     
O

The nature of recognition given the student for the successful completion of work in high school.

 
NCES0684DiplomaCredentialLevelAndHonorsType
 ActivityAwardHistory/ActivityAward/
     DiplomaCredentialHonorsDescription
     
O

A textual description of the recognition.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.15.3-1: StudentAcademicRecord
<StudentAcademicRecord RefId="D932E34082D04C048112729922B58A93" SIF_RefObject="StudentRecordExchange" SIF_RefId="0EAF9D6DA4854F348103B04BFEAC65B2"> <ReportingDate>2006-09-26</ReportingDate> <StudentSchoolEnrollmentData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C68"> <GradeLevel> <Code>12</Code> </GradeLevel> </StudentSchoolEnrollmentData> <DistrictEntryDate>2003-09-01</DistrictEntryDate> <SchoolAttendanceHistory> <SchoolAttended RefId="39FA2714A63543B0A7732796825E9C67"> <SchoolInfoData> <LocalId>43</LocalId> <StateProvinceId>389</StateProvinceId> <SchoolName>Thomas Jefferson HS</SchoolName> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </SchoolInfoData> <MarkingSystems> <MarkValueInfoData RefId="DBA34A13FF234C7994AAE13D89DA9A50"> <Name>Letter Grades</Name> <Letter> <ValidMark> <Code>A</Code> <NumericEquivalent>4.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>A-</Code> <NumericEquivalent>3.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>B+</Code> <NumericEquivalent>3.2</NumericEquivalent> </ValidMark> <ValidMark> <Code>B</Code> <NumericEquivalent>3.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>B-</Code> <NumericEquivalent>2.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>C+</Code> <NumericEquivalent>2.8</NumericEquivalent> </ValidMark> <ValidMark> <Code>C</Code> <NumericEquivalent>2.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>C-</Code> <NumericEquivalent>1.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>D+</Code> <NumericEquivalent>1.2</NumericEquivalent> </ValidMark> <ValidMark> <Code>D</Code> <NumericEquivalent>1.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>E</Code> <NumericEquivalent>0.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>F</Code> <NumericEquivalent>0.0</NumericEquivalent> </ValidMark> </Letter> </MarkValueInfoData> </MarkingSystems> </SchoolAttended> <SchoolAttended RefId="39FA2714A63543B0A7732796825E9C68"> <LEAInfoData> <LEAName>Everett School District</LEAName> </LEAInfoData> <SchoolInfoData> <LocalId>44</LocalId> <StateProvinceId>390</StateProvinceId> <SchoolName>Everett HS</SchoolName> <AddressList> <Address Type="0123"> <Street> <Line1>2416 Colby Ave</Line1> </Street> <City>Everett</City> <StateProvince>WA</StateProvince> <Country>US</Country> <PostalCode>98201</PostalCode> </Address> </AddressList> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </SchoolInfoData> <MarkingSystems> <MarkValueInfoData RefId="FBE50CCA156741F389D916B89923DFFE"> <Name>Letter Grades</Name> <Letter> <ValidMark> <Code>A</Code> <NumericEquivalent>4.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>A-</Code> <NumericEquivalent>3.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>B+</Code> <NumericEquivalent>3.2</NumericEquivalent> </ValidMark> <ValidMark> <Code>B</Code> <NumericEquivalent>3.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>B-</Code> <NumericEquivalent>2.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>C+</Code> <NumericEquivalent>2.8</NumericEquivalent> </ValidMark> <ValidMark> <Code>C</Code> <NumericEquivalent>2.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>C-</Code> <NumericEquivalent>1.7</NumericEquivalent> </ValidMark> <ValidMark> <Code>D+</Code> <NumericEquivalent>1.2</NumericEquivalent> </ValidMark> <ValidMark> <Code>D</Code> <NumericEquivalent>1.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>E</Code> <NumericEquivalent>0.0</NumericEquivalent> </ValidMark> <ValidMark> <Code>F</Code> <NumericEquivalent>0.0</NumericEquivalent> </ValidMark> </Letter> </MarkValueInfoData> </MarkingSystems> </SchoolAttended> <SchoolAttended RefId="39FA2714A63543B0A7732796825E9C69"> <SchoolInfoData> <LocalId>45</LocalId> <StateProvinceId>391</StateProvinceId> <NCESId /> <SchoolName>Thomas Alva Edison HS</SchoolName> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </SchoolInfoData> </SchoolAttended> </SchoolAttendanceHistory> <EnrollmentHistory> <StudentSchoolEnrollmentData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C67"> <SchoolYear>1998</SchoolYear> <EntryDate>1997-09-01</EntryDate> <ExitDate>1998-06-30</ExitDate> </StudentSchoolEnrollmentData> <StudentSchoolEnrollmentData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C68"> <SchoolYear>1999</SchoolYear> <EntryDate>1998-09-01</EntryDate> <ExitDate>1999-06-30</ExitDate> </StudentSchoolEnrollmentData> <StudentSchoolEnrollmentData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C69"> <SchoolYear>2000</SchoolYear> <EntryDate>1999-09-01</EntryDate> <ExitDate>2000-06-30</ExitDate> </StudentSchoolEnrollmentData> <StudentSchoolEnrollmentData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C68"> <SchoolYear>2002</SchoolYear> <EntryDate>2001-09-01</EntryDate> </StudentSchoolEnrollmentData> </EnrollmentHistory> <CourseHistory> <Term> <TermInfoData SchoolAttendedRefId="39FA2714A63543B0A7732796825E9C67"> <SchoolYear>1998</SchoolYear> <StartDate>1997-09-01</StartDate> <EndDate>1998-03-30</EndDate> </TermInfoData> <Courses> <Course> <SchoolCourseInfoData> <CourseCode>ENG031</CourseCode> <CourseTitle>Grammar</CourseTitle> </SchoolCourseInfoData> <StartDate>1997-09-01</StartDate> <EndDate>1998-03-30</EndDate> <MarkingPeriods> <MarkingPeriod> <GradeLevelWhenTaken> <Code>09</Code> </GradeLevelWhenTaken> <MarkData MarkValueInfoDataRefId="DBA34A13FF234C7994AAE13D89DA9A50"> <Letter>A</Letter> </MarkData> <CourseCreditsAttempted>0.50</CourseCreditsAttempted> <CourseCreditsEarned>0.50</CourseCreditsEarned> <DaysAbsent>0</DaysAbsent> <DaysPresent>85</DaysPresent> </MarkingPeriod> </MarkingPeriods> </Course> <!-- ... --> </Courses> </Term> <!-- ... --> </CourseHistory> <AcademicPerformanceHistory> <TermPerformance> <TermInfoData> <EndDate>1998-03-31</EndDate> </TermInfoData> <GradeLevelWhenTaken> <Code>09</Code> </GradeLevelWhenTaken> <CreditsAttempted>3.0</CreditsAttempted> <CreditsEarned>3.0</CreditsEarned> <GPACreditsAttempted>3.0</GPACreditsAttempted> <GPACreditsEarned>3.0</GPACreditsEarned> <GPAGradePoints>12.0</GPAGradePoints> <GPA>4.00</GPA> <DaysAbsent>0</DaysAbsent> <DaysPresent>85</DaysPresent> </TermPerformance> <TermPerformance> <TermInfoData> <EndDate>1998-06-30</EndDate> </TermInfoData> <GradeLevelWhenTaken> <Code>09</Code> </GradeLevelWhenTaken> <CreditsAttempted>3.5</CreditsAttempted> <CreditsEarned>3.5</CreditsEarned> <GPACreditsAttempted>3.5</GPACreditsAttempted> <GPACreditsEarned>3.5</GPACreditsEarned> <GPAGradePoints>12.0</GPAGradePoints> <GPA>4.00</GPA> <DaysAbsent>0</DaysAbsent> <DaysPresent>85</DaysPresent> </TermPerformance> <TermPerformance> <TermInfoData> <EndDate>1999-01-31</EndDate> </TermInfoData> <GradeLevelWhenTaken> <Code>09</Code> </GradeLevelWhenTaken> <CreditsAttempted>3.0</CreditsAttempted> <CreditsEarned>3.0</CreditsEarned> <GPACreditsAttempted>2.5</GPACreditsAttempted> <GPACreditsEarned>2.5</GPACreditsEarned> <GPAGradePoints>12.0</GPAGradePoints> <GPA>4.00</GPA> <DaysAbsent>0</DaysAbsent> <DaysPresent>85</DaysPresent> </TermPerformance> <!-- ... --> </AcademicPerformanceHistory> <AcademicPerformanceSummary> <TotalCreditsAttempted>27.3</TotalCreditsAttempted> <TotalCreditsEarned>27.3</TotalCreditsEarned> <CumulativeGPACreditsEarned>22.5</CumulativeGPACreditsEarned> <CumulativeGradePoints>94.0</CumulativeGradePoints> <CumulativeGPA>4.000</CumulativeGPA> <ClassRank>1</ClassRank> <ClassTotalNumber>250</ClassTotalNumber> <ClassRankingDate>2002-06-01</ClassRankingDate> <ProjectedGraduationDate>2002-06-05</ProjectedGraduationDate> </AcademicPerformanceSummary> <AssessmentPerformanceHistory> <Assessment> <Name>WASL</Name> <AdministrationDate>2002-01-02</AdministrationDate> <Level>4</Level> <StudentGradeLevelWhenAssessed> <Code>12</Code> </StudentGradeLevelWhenAssessed> <SubtestCategory>Reading</SubtestCategory> <TestScoreType>0512</TestScoreType> <TestScore>SCHOLAR</TestScore> </Assessment> <Assessment> <Name>WASL</Name> <AdministrationDate>2002-01-02</AdministrationDate> <Level>1</Level> <StudentGradeLevelWhenAssessed> <Code>12</Code> </StudentGradeLevelWhenAssessed> <SubtestCategory>Writing</SubtestCategory> <TestScoreType>0512</TestScoreType> <TestScore>NOT MET</TestScore> </Assessment> <!-- ... --> </AssessmentPerformanceHistory> <AdditionalGraduationRequirementPerformanceHistory> <Requirement> <Name>WASL Cert Acad Achievement</Name> <Status>Met</Status> <StatusDeterminationDate>2002-06-01</StatusDeterminationDate> </Requirement> <Requirement> <Name>High School &amp; Beyond Plan</Name> <Method /> <Status>Not Met</Status> <StatusDeterminationDate>2002-06-01</StatusDeterminationDate> </Requirement> <!-- ... --> </AdditionalGraduationRequirementPerformanceHistory> <ActivityAwardHistory> <ActivityAward> <Name>Computer club</Name> <InvolvementCode>0701</InvolvementCode> <InvolvementBeginningDate>2001-09-01</InvolvementBeginningDate> <InvolvementEndingDate>2002-06-30</InvolvementEndingDate> </ActivityAward> <!-- ... --> </ActivityAwardHistory> </StudentAcademicRecord>
Example 6.15.3-1: StudentAcademicRecord

6.15.4 StudentSpecialEducationRecord

Conveys a student's special education program information for student record exchange.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

SIF_Events are not reported for this object.

StudentSpecialEducationRecord
Figure 6.15.4-1: StudentSpecialEducationRecord StudentSpecialEducationRecord RefId SIF_RefId SIF_RefObject ReportingDate LEAInfoData LocalId StateProvinceId NCESId LEAName SchoolInfoData LocalId StateProvinceId NCESId SchoolName StudentParticipationData ProgramType LEAInfoData LocalId StateProvinceId NCESId LEAName SchoolInfoData LocalId StateProvinceId NCESId SchoolName SchoolURL SchoolContactList AddressList PhoneNumberList ReferralDate ProgramStatus EvaluationDate ReevaluationDate ExceptionalityCategories ProgramPlanDate ProgramPlanEffectiveDate PlannedAssessmentParticipation SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentSpecialEducationRecord 

Conveys a student's special education program information for student record exchange.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

 
 
@
key
RefIdM

The ID (GUID) of this record.

 
RefIdType
@SIF_RefIdM

The GUID of an associated object, either StudentRecordExchange or StudentPersonal.

 
RefIdType
@SIF_RefObjectM

The associated object type.

 
values:
StudentRecordExchange
StudentPersonal
 ReportingDateM

The date this record was prepared.

 
xs:date
 LEAInfoDataM

Identifies the LEA of the "school of record" for the student's information.

 
 
 LEAInfoData/LocalIdO LocalId
 LEAInfoData/StateProvinceId
     
O StateProvinceId
 LEAInfoData/NCESIdO NCESId
 LEAInfoData/LEANameM  LEAName
 SchoolInfoDataM

Identifies the "school of record" responsible for maintaining the student's information.

 
 
 SchoolInfoData/LocalIdM LocalId
 SchoolInfoData/StateProvinceId
     
O StateProvinceId
 SchoolInfoData/NCESIdO NCESId
 SchoolInfoData/SchoolName
     
M SchoolName
 StudentParticipationDataM

Collects elements of interest from StudentParticipation.

 
 
 StudentParticipationData/
     ProgramType
M ProgramType
 StudentParticipationData/
     LEAInfoData
O

Collects elements of interest from LEAInfo. Replaces GUID of ManagingPublicAgency to identify the LEA or district to which the ManagingSchool reports.

 
 
 StudentParticipationData/
     LEAInfoData/LocalId
O LocalId
 StudentParticipationData/
     LEAInfoData/StateProvinceId
     
O StateProvinceId
 StudentParticipationData/
     LEAInfoData/NCESId
O NCESId
 StudentParticipationData/
     LEAInfoData/LEAName
M LEAName
 StudentParticipationData/
     SchoolInfoData
M

Collects elements of interest from SchoolInfo. Replaces GUID of ManagingSchool which identifies the school responsible for coordinating the student's program participation.

 
 
 StudentParticipationData/
     SchoolInfoData/LocalId
M LocalId
 StudentParticipationData/
     SchoolInfoData/StateProvinceId
     
O StateProvinceId
 StudentParticipationData/
     SchoolInfoData/NCESId
O NCESId
 StudentParticipationData/
     SchoolInfoData/SchoolName
     
M SchoolName
 StudentParticipationData/
     SchoolInfoData/SchoolURL
O SchoolURL
 StudentParticipationData/
     SchoolInfoData/SchoolContactList
     
O SchoolContactList
 StudentParticipationData/
     SchoolInfoData/AddressList
     
O AddressList
 StudentParticipationData/
     SchoolInfoData/PhoneNumberList
     
O PhoneNumberList
 StudentParticipationData/
     ReferralDate
O PartialDateType
 StudentParticipationData/
     ProgramStatus
O ProgramStatus
 StudentParticipationData/
     EvaluationDate
O PartialDateType
 StudentParticipationData/
     ReevaluationDate
O PartialDateType
 StudentParticipationData/
     ExceptionalityCategories
O ExceptionalityCategories
 StudentParticipationData/
     ProgramPlanDate
O PartialDateType
 StudentParticipationData/
     ProgramPlanEffectiveDate
O PartialDateType
 StudentParticipationData/
     PlannedAssessmentParticipation
     
O PlannedAssessmentParticipation
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.15.4-1: StudentSpecialEducationRecord

6.15.5 StudentRecordPackage

Wraps content or a record not defined by SIF but that is part of a student's records.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

SIF_Events are not reported for this object.

StudentRecordPackage
Figure 6.15.5-1: StudentRecordPackage StudentRecordPackage SIF_RefId SIF_RefObject
 Element/@AttributeCharDescriptionType
 StudentRecordPackage 

Wraps content or a record not defined by SIF but that is part of a student's records.

This object is designed to be a dual-purpose object. It can be linked to a StudentRecordExchange object for record exchange purposes. There may also be Zones where systems can provide this information for record exchange systems or general informational purposes, in which case the object can be linked directly to StudentPersonal.

 
AbstractContentPackageType
@SIF_RefIdM

The GUID of an associated object, either StudentRecordExchange or StudentPersonal.

 
RefIdType
@SIF_RefObjectM

The associated object type.

 
values:
StudentRecordExchange
StudentPersonal
Table 6.15.5-1: StudentRecordPackage
<StudentRecordPackage RefId="25FCD7C038E44E38A025FFD609B9D190" SIF_RefId="974C88A3892D4E398891403D26CD280C" SIF_RefObject="StudentRecordExchange"> <BinaryData MIMEType="application/pdf" FileName="MSTranscript.pdf" Description="Middle School Transcript"> JVBERi0xLjQNJeLjz9MNCjYgMCBvYmo8PC9IWzUxNiAxNDJdL0xpbmVhcml6ZWQgMS9FIDQ1NzMv TCA4NTAyL04gMS9PIDkvVCA4MzM2Pj4NZW5kb2JqDSAgICAgICAgICAgICAgICAgICAgICAgICAg DQp4cmVmDQo2IDExDQowMDAwMDAwMDE2IDAwMDAwIG4NCjAwMDAwMDA2NTggMDAwMDAgbg0KMDAw MDAwMDUxNiAwMDAwMCBuDQowMDAwMDAwNzM0IDAwMDAwIG4NCjAwMDAwMDA4NjEgMDAwMDAgbg0K MDAwMDAwMDk3MSAwMDAwMCBuDQowMDAwMDAxMzQ2IDAwMDAwIG4NCjAwMDAwMDE1NTUgMDAwMDAg bg0KMDAwMDAwMTU4OSAwMDAwMCBuDQowMDAwMDA0MjU4IDAwMDAwIG4NCjAwMDAwMDQ0OTcgMDAw MDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSAxNy9QcmV2IDgzMjYvUm9vdCA3IDAgUi9JbmZvIDUgMCBS L0lEWzw5MWZmNmU4MWUyMzU0ODE3ZDc2MDZlOWViMmIyMjk5Mz48YmQyZDE0Y2QxZmE1MmQ0Zjg3 ZDc0NjkxZjQ2N2E0MmM+XT4+DQpzdGFydHhyZWYNCjANCiUlRU9GDQogICAgICAgICAgICAgICAg IA0KOCAwIG9iajw8L0xlbmd0aCA2NS9GaWx0ZXIvRmxhdGVEZWNvZGUvTCA3NS9TIDM4Pj5zdHJl YW0NCnjaYmBg4GBgYApgAAK+/wyogAmIWRg4GpiQxDigmIFBiYGH9YKPaMB6Bi5vngtaICFGBgZB f6hGC4AAAwDvBwZhDQplbmRzdHJlYW0NZW5kb2JqDTcgMCBvYmo8PC9QYWdlcyAzIDAgUi9UeXBl L0NhdGFsb2cvUGFnZUxhYmVscyAxIDAgUi9NZXRhZGF0YSA0IDAgUj4+DWVuZG9iag05IDAgb2Jq PDwvQ29udGVudHMgMTIgMCBSL1R5cGUvUGFnZS9QYXJlbnQgMyAwIFIvUm90YXRlIDAvTWVkaWFC b3hbMCAwIDYxMiA3OTJdL0Nyb3BCb3hbMCAwIDYxMiA3OTJdL1Jlc291cmNlcyAxMCAwIFI+Pg1l bmRvYmoNMTAgMCBvYmo8PC9Db2xvclNwYWNlPDwvQ3M2IDEzIDAgUj4+L0ZvbnQ8PC9UVDIgMTEg MCBSPj4vUHJvY1NldFsvUERGL1RleHRdL0V4dEdTdGF0ZTw8L0dTMSAxNiAwIFI+Pj4+DWVuZG9i ag0xMSAwIG9iajw8L1R5cGUvRm9udC9FbmNvZGluZy9XaW5BbnNpRW5jb2RpbmcvQmFzZUZvbnQv VGltZXNOZXdSb21hblBTTVQvRmlyc3RDaGFyIDMyL0xhc3RDaGFyIDEyMS9TdWJ0eXBlL1RydWVU eXBlL0ZvbnREZXNjcmlwdG9yIDE1IDAgUi9XaWR0aHNbMjUwIDAgMCAwIDAgMCAwIDAgMCAwIDAg MCAwIDMzMyAyNTAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAw IDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCA2MTEgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAg NDQ0IDAgNDQ0IDUwMCA0NDQgMCAwIDUwMCAyNzggMCAwIDI3OCA3NzggNTAwIDUwMCA1MDAgMCAz MzMgMzg5IDI3OCA1MDAgMCAwIDAgNTAwXT4+DWVuZG9iag0xMiAwIG9iajw8L0xlbmd0aCAxNDAv RmlsdGVyL0ZsYXRlRGVjb2RlPj5zdHJlYW0NCkiJNImxCsIwFEX39xV3TIakLxlqu1pEcPVt4lBS tYWmlb6K+PcWQe6Bc+AWx3PAQ2kvVIhEBMidQgRv21Qzdlz5uoRkKhotkfT3MTRNxJ6ZIySR++eb Lkb6QbHRonvl/EG2lRmsi6brxpt1pXHWBV8ZTf08j1iXdtK0DM/Vw17lRAehrwADAKRxJpgKDQpl bmRzdHJlYW0NZW5kb2JqDTEzIDAgb2JqWy9JQ0NCYXNlZCAxNCAwIFJdDWVuZG9iag0xNCAwIG9i ajw8L0xlbmd0aCAyNTc1L0ZpbHRlci9GbGF0ZURlY29kZS9OIDMvQWx0ZXJuYXRlL0RldmljZVJH Qj4+c3RyZWFtDQpIiZyWeVRTdxbHf2/JnpCVsMNjDVuAsAaQNWxhkR0EUQhJCAESQkjYBUFEBRRF RISqlTLWbXRGT0WdLq5jrQ7WferSA/Uw6ug4tBbXjp0XOEedTmem0+8f7/c593fv793fvfed8wCg J6WqtdUwCwCN1qDPSozFFhUUYqQJAAMKIAIRADJ5rS4tOyEH4JLGS7Ba3An8i55eB5BpvSJMysAw 8P+JLdfpDQBAGTgHKJS1cpw7ca6qN+hM9hmceaWVJoZRE+vxBHG2NLFqnr3nfOY52sQKjVaBsyln nUKjMPFpnFfXGZU4I6k4d9WplfU4X8XZpcqoUeP83BSrUcpqAUDpJrtBKS/H2Q9nuj4nS4LzAgDI dNU7XPoOG5QNBtOlJNW6Rr1aVW7A3OUemCg0VIwlKeurlAaDMEMmr5TpFZikWqOTaRsBmL/znDim 2mJ4kYNFocHBQn8f0TuF+q+bv1Cm3s7Tk8y5nkH8C29tP+dXPQqAeBavzfq3ttItAIyvBMDy5lub y/sAMPG+Hb74zn34pnkpNxh0Yb6+9fX1Pmql3MdU0Df6nw6/QO+8z8d03JvyYHHKMpmxyoCZ6iav rqo26rFanUyuxIQ/HeJfHfjzeXhnKcuUeqUWj8jDp0ytVeHt1irUBnW1FlNr/1MTf2XYTzQ/17i4 Y68Br9gHsC7yAPK3CwDl0gBStA3fgd70LZWSBzLwNd/h3vzczwn691PhPtOjVq2ai5Nk5WByo75u fs/0WQICoAIm4AErYA+cgTsQAn8QAsJBNIgHySAd5IACsBTIQTnQAD2oBy2gHXSBHrAebALDYDsY A7vBfnAQjIOPwQnwR3AefAmugVtgEkyDh2AGPAWvIAgiQQyIC1lBDpAr5AX5Q2IoEoqHUqEsqAAq gVSQFjJCLdAKqAfqh4ahHdBu6PfQUegEdA66BH0FTUEPoO+glzAC02EebAe7wb6wGI6BU+AceAms gmvgJrgTXgcPwaPwPvgwfAI+D1+DJ+GH8CwCEBrCRxwRISJGJEg6UoiUIXqkFelGBpFRZD9yDDmL XEEmkUfIC5SIclEMFaLhaBKai8rRGrQV7UWH0V3oYfQ0egWdQmfQ1wQGwZbgRQgjSAmLCCpCPaGL MEjYSfiIcIZwjTBNeEokEvlEATGEmEQsIFYQm4m9xK3EA8TjxEvEu8RZEolkRfIiRZDSSTKSgdRF 2kLaR/qMdJk0TXpOppEdyP7kBHIhWUvuIA+S95A/JV8m3yO/orAorpQwSjpFQWmk9FHGKMcoFynT lFdUNlVAjaDmUCuo7dQh6n7qGept6hMajeZEC6Vl0tS05bQh2u9on9OmaC/oHLonXUIvohvp6+gf 0o/Tv6I/YTAYboxoRiHDwFjH2M04xfia8dyMa+ZjJjVTmLWZjZgdNrts9phJYboyY5hLmU3MQeYh 5kXmIxaF5caSsGSsVtYI6yjrBmuWzWWL2OlsDbuXvYd9jn2fQ+K4ceI5Ck4n5wPOKc5dLsJ15kq4 cu4K7hj3DHeaR+QJeFJeBa+H91veBG/GnGMeaJ5n3mA+Yv6J+SQf4bvxpfwqfh//IP86/6WFnUWM hdJijcV+i8sWzyxtLKMtlZbdlgcsr1m+tMKs4q0qrTZYjVvdsUatPa0zreutt1mfsX5kw7MJt5Hb dNsctLlpC9t62mbZNtt+YHvBdtbO3i7RTme3xe6U3SN7vn20fYX9gP2n9g8cuA6RDmqHAYfPHP6K mWMxWBU2hJ3GZhxtHZMcjY47HCccXzkJnHKdOpwOON1xpjqLncucB5xPOs+4OLikubS47HW56Upx FbuWu252Pev6zE3glu+2ym3c7b7AUiAVNAn2Cm67M9yj3GvcR92vehA9xB6VHls9vvSEPYM8yz1H PC96wV7BXmqvrV6XvAneod5a71HvG0K6MEZYJ9wrnPLh+6T6dPiM+zz2dfEt9N3ge9b3tV+QX5Xf mN8tEUeULOoQHRN95+/pL/cf8b8awAhICGgLOBLwbaBXoDJwW+Cfg7hBaUGrgk4G/SM4JFgfvD/4 QYhLSEnIeyE3xDxxhrhX/HkoITQ2tC3049AXYcFhhrCDYX8PF4ZXhu8Jv79AsEC5YGzB3QinCFnE jojJSCyyJPL9yMkoxyhZ1GjUN9HO0YrondH3YjxiKmL2xTyO9YvVx34U+0wSJlkmOR6HxCXGdcdN xHPic+OH479OcEpQJexNmEkMSmxOPJ5ESEpJ2pB0Q2onlUt3S2eSQ5KXJZ9OoadkpwynfJPqmapP PZYGpyWnbUy7vdB1oXbheDpIl6ZvTL+TIcioyfhDJjEzI3Mk8y9ZoqyWrLPZ3Ozi7D3ZT3Nic/py buW65xpzT+Yx84ryduc9y4/L78+fXOS7aNmi8wXWBeqCI4WkwrzCnYWzi+MXb1o8XRRU1FV0fYlg ScOSc0utl1Yt/aSYWSwrPlRCKMkv2VPygyxdNiqbLZWWvlc6I5fIN8sfKqIVA4oHyghlv/JeWURZ f9l9VYRqo+pBeVT5YPkjtUQ9rP62Iqlie8WzyvTKDyt/rMqvOqAha0o0R7UcbaX2dLV9dUP1JZ2X rks3WRNWs6lmRp+i31kL1S6pPWLg4T9TF4zuxpXGqbrIupG65/V59Yca2A3ahguNno1rGu81JTT9 phltljefbHFsaW+ZWhazbEcr1FraerLNua2zbXp54vJd7dT2yvY/dfh19Hd8vyJ/xbFOu87lnXdX Jq7c22XWpe+6sSp81fbV6Gr16ok1AWu2rHndrej+osevZ7Dnh1557xdrRWuH1v64rmzdRF9w37b1 xPXa9dc3RG3Y1c/ub+q/uzFt4+EBbKB74PtNxZvODQYObt9M3WzcPDmU+k8ApAFb/pi4mSSZkJn8 mmia1ZtCm6+cHJyJnPedZJ3SnkCerp8dn4uf+qBpoNihR6G2oiailqMGo3aj5qRWpMelOKWpphqm i6b9p26n4KhSqMSpN6mpqhyqj6sCq3Wr6axcrNCtRK24ri2uoa8Wr4uwALB1sOqxYLHWskuywrM4 s660JbSctRO1irYBtnm28Ldot+C4WbjRuUq5wro7urW7LrunvCG8m70VvY++Cr6Evv+/er/1wHDA 7MFnwePCX8Lbw1jD1MRRxM7FS8XIxkbGw8dBx7/IPci8yTrJuco4yrfLNsu2zDXMtc01zbXONs62 zzfPuNA50LrRPNG+0j/SwdNE08bUSdTL1U7V0dZV1tjXXNfg2GTY6Nls2fHadtr724DcBdyK3RDd lt4c3qLfKd+v4DbgveFE4cziU+Lb42Pj6+Rz5PzlhOYN5pbnH+ep6DLovOlG6dDqW+rl63Dr++yG 7RHtnO4o7rTvQO/M8Fjw5fFy8f/yjPMZ86f0NPTC9VD13vZt9vv3ivgZ+Kj5OPnH+lf65/t3/Af8 mP0p/br+S/7c/23//wIMAPeE8/sKDQplbmRzdHJlYW0NZW5kb2JqDTE1IDAgb2JqPDwvVHlwZS9G b250RGVzY3JpcHRvci9Gb250QkJveFstNTY4IC0zMDcgMjAwMCAxMDA3XS9Gb250TmFtZS9UaW1l c05ld1JvbWFuUFNNVC9GbGFncyAzNC9TdGVtViA4Mi9DYXBIZWlnaHQgNjU2L1hIZWlnaHQgMC9B c2NlbnQgODkxL0Rlc2NlbnQgLTIxNi9JdGFsaWNBbmdsZSAwL0ZvbnRGYW1pbHkoVGltZXMgTmV3 IFJvbWFuKS9Gb250U3RyZXRjaC9Ob3JtYWwvRm9udFdlaWdodCA0MDA+Pg1lbmRvYmoNMTYgMCBv Ymo8PC9UeXBlL0V4dEdTdGF0ZS9TQSBmYWxzZS9PUCBmYWxzZS9TTSAwLjAyL29wIGZhbHNlL09Q TSAxPj4NZW5kb2JqDTEgMCBvYmo8PC9OdW1zWzAgMiAwIFJdPj4NZW5kb2JqDTIgMCBvYmo8PC9T L0Q+Pg1lbmRvYmoNMyAwIG9iajw8L0NvdW50IDEvS2lkc1s5IDAgUl0vVHlwZS9QYWdlcz4+DWVu ZG9iag00IDAgb2JqPDwvTGVuZ3RoIDMzNDAvVHlwZS9NZXRhZGF0YS9TdWJ0eXBlL1hNTD4+c3Ry ZWFtDQo8P3hwYWNrZXQgYmVnaW49J++7vycgaWQ9J1c1TTBNcENlaGlIenJlU3pOVGN6a2M5ZCc/ Pgo8P2Fkb2JlLXhhcC1maWx0ZXJzIGVzYz0iQ1JMRiI/Pg0KPHg6eG1wbWV0YSB4bWxuczp4PSdh ZG9iZTpuczptZXRhLycgeDp4bXB0az0nWE1QIHRvb2xraXQgMi45LjEtMTMsIGZyYW1ld29yayAx LjYnPg0KPHJkZjpSREYgeG1sbnM6cmRmPSdodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJk Zi1zeW50YXgtbnMjJyB4bWxuczppWD0naHR0cDovL25zLmFkb2JlLmNvbS9pWC8xLjAvJz4NCjxy ZGY6RGVzY3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOmNkYjhhMjk3LTBkN2EtNDBjMC1hOTZkLTQz YmFmODljNTZiYScgeG1sbnM6cGRmPSdodHRwOi8vbnMuYWRvYmUuY29tL3BkZi8xLjMvJyBwZGY6 UHJvZHVjZXI9J0Fjcm9iYXQgRGlzdGlsbGVyIDYuMCAoV2luZG93cyknPjwvcmRmOkRlc2NyaXB0 aW9uPg0KPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9J3V1aWQ6Y2RiOGEyOTctMGQ3YS00MGMw LWE5NmQtNDNiYWY4OWM1NmJhJyB4bWxuczp4YXA9J2h0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEu MC8nIHhhcDpDcmVhdG9yVG9vbD0nUFNjcmlwdDUuZGxsIFZlcnNpb24gNS4yJyB4YXA6TW9kaWZ5 RGF0ZT0nMjAwNi0wOS0xMlQwODozODo0Mi0wNDowMCcgeGFwOkNyZWF0ZURhdGU9JzIwMDYtMDkt MTJUMDg6Mzg6NDItMDQ6MDAnPjwvcmRmOkRlc2NyaXB0aW9uPg0KPHJkZjpEZXNjcmlwdGlvbiBy ZGY6YWJvdXQ9J3V1aWQ6Y2RiOGEyOTctMGQ3YS00MGMwLWE5NmQtNDNiYWY4OWM1NmJhJyB4bWxu czp4YXBNTT0naHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLycgeGFwTU06RG9jdW1lbnRJ RD0ndXVpZDo1MGZmOTg2OS05NDFlLTQ3MjktOWMyZC1kZGRlNzJkMTUxZjEnLz4NCjxyZGY6RGVz Y3JpcHRpb24gcmRmOmFib3V0PSd1dWlkOmNkYjhhMjk3LTBkN2EtNDBjMC1hOTZkLTQzYmFmODlj NTZiYScgeG1sbnM6ZGM9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJyBkYzpmb3Jt YXQ9J2FwcGxpY2F0aW9uL3BkZic+PGRjOnRpdGxlPjxyZGY6QWx0PjxyZGY6bGkgeG1sOmxhbmc9 J3gtZGVmYXVsdCc+TWljcm9zb2Z0IFdvcmQgLSBNU1RyYW5zY3JpcHQuZG9jPC9yZGY6bGk+PC9y ZGY6QWx0PjwvZGM6dGl0bGU+PGRjOmNyZWF0b3I+PHJkZjpTZXE+PHJkZjpsaT5NYXJrIFJlaWNo ZXJ0PC9yZGY6bGk+PC9yZGY6U2VxPjwvZGM6Y3JlYXRvcj48L3JkZjpEZXNjcmlwdGlvbj4NCjwv cmRmOlJERj4NCjwveDp4bXBtZXRhPg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSd3Jz8+DQplbmRzdHJlYW0NZW5kb2Jq DTUgMCBvYmo8PC9Nb2REYXRlKEQ6MjAwNjA5MTIwODM4NDItMDQnMDAnKS9DcmVhdGlvbkRhdGUo RDoyMDA2MDkxMjA4Mzg0Mi0wNCcwMCcpL1RpdGxlKE1pY3Jvc29mdCBXb3JkIC0gTVNUcmFuc2Ny aXB0LmRvYykvQ3JlYXRvcihQU2NyaXB0NS5kbGwgVmVyc2lvbiA1LjIpL1Byb2R1Y2VyKEFjcm9i YXQgRGlzdGlsbGVyIDYuMCBcKFdpbmRvd3NcKSkvQXV0aG9yKE1hcmsgUmVpY2hlcnQpPj4NZW5k b2JqDXhyZWYNCjAgNg0KMDAwMDAwMDAwMCA2NTUzNSBmDQowMDAwMDA0NTczIDAwMDAwIG4NCjAw MDAwMDQ2MDYgMDAwMDAgbg0KMDAwMDAwNDYyOSAwMDAwMCBuDQowMDAwMDA0Njc5IDAwMDAwIG4N CjAwMDAwMDgwOTUgMDAwMDAgbg0KdHJhaWxlcg0KPDwvU2l6ZSA2Pj4NCnN0YXJ0eHJlZg0KMTE2 DQolJUVPRg0K </BinaryData> </StudentRecordPackage>
Example 6.15.5-1: StudentRecordPackage

6.16 Transportation and Geographic Information Working Group

The goal of Transportation and Geographic Information Working Group is to provide the wealth of information currently locked in the transportation department to the rest of the school community, including transportation as well as geographic information for students.

6.16.1 BusEquipment

This object contains information about a type of equipment that may be on a bus. Examples include wheelchair, car seat, etc.

SIF_Events are reported for this object.

BusEquipment
Figure 6.16.1-1: BusEquipment BusEquipment RefId Description SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusEquipment 

This object contains information about a type of equipment that may be on a bus. Examples include wheelchair, car seat, etc.

 
 
@
key
RefIdM

GUID that identifies this type of equipment.

 
RefIdType
 DescriptionM

Explanation about the type of equipment.

 
xs:string
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.1-1: BusEquipment
<BusEquipment RefId="D3E34B359D75101A8C3D00AA001A1652"> <Description>Wheelchair</Description> </BusEquipment>
Example 6.16.1-1: BusEquipment

6.16.2 BusInfo

This object contains all of the information about a bus.

SIF_Events are reported for this object.

BusInfo
Figure 6.16.2-1: BusInfo BusInfo RefId VehicleNumber SeatingCapacity Contractor EquipmentList Equipment BusEquipmentRefId Count ManufactureYear VehicleIdentificationNumber LicensePlateNumber SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusInfo 

This object contains all of the information about a bus.

 
 
@
key
RefIdM

GUID that identifies this bus.

 
RefIdType
 VehicleNumberM

Vehicle number of the bus.

 
xs:normalizedString
 SeatingCapacityO

The number of people who can ride on the bus at the same time.

 
xs:unsignedInt
 ContractorO

The name of the contractor for this bus.

 
xs:normalizedString
 EquipmentListO

Describes any special equipment that is on this bus.

 
List
 EquipmentList/EquipmentMR

Inventories each piece of special equipment on the bus.

 
 
 EquipmentList/Equipment/BusEquipmentRefId
     
M

GUID that identifies the type of equipment.

 
IdRefType
 EquipmentList/Equipment/Count
     
M

The number of pieces of this type of equipment that are on this bus.

 
xs:unsignedInt
 ManufactureYearO

The manufacture year of the bus (CCYY).

 
xs:gYear
 VehicleIdentificationNumberO

The Vehicle Identification Number (VIN) of the bus.

 
xs:normalizedString
 LicensePlateNumberO

The vehicle's license plate number.

 
xs:normalizedString
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.2-1: BusInfo
<BusInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <VehicleNumber>63</VehicleNumber> <SeatingCapacity>71</SeatingCapacity> <Contractor>RYDER</Contractor> <EquipmentList> <Equipment> <BusEquipmentRefId>E2F23A5323E87343B9A34BE457321E4A</BusEquipmentRefId> <Count>3</Count> </Equipment> <Equipment> <BusEquipmentRefId>34BE45E87343B9A5323A73212F23E7B3</BusEquipmentRefId> <Count>4</Count> </Equipment> </EquipmentList> <ManufactureYear>2001</ManufactureYear> <VehicleIdentificationNumber>12333992AB</VehicleIdentificationNumber> <LicensePlateNumber>BLA254</LicensePlateNumber> </BusInfo>
Example 6.16.2-1: BusInfo

6.16.3 BusPositionInfo

This object exposes telematics information to the zone.

SIF_Events are reported for this object.

BusPositionInfo
Figure 6.16.3-1: BusPositionInfo BusPositionInfo BusInfoRefId Date Time GridLocation TelematicsId TelemetryList Telemetry BusDriver Name EmployeePersonalRefId Status BusStaffList BusStaff Name EmployeePersonalRefId Status RouteStatus BusRouteInfoRefId Status OtherStatus Odometer Unit Speedometer Unit Students Student StudentPersonalRefId Status SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusPositionInfo 

This object exposes telematics information to the zone.

 
 
@
key
BusInfoRefIdM

The GUID that identifies the bus. This object only has meaning as current data for this particular bus.

 
IdRefType
 DateM

The date of the report from the bus.

 
xs:date
 TimeM

The time of the report from the bus.

 
xs:time
 GridLocationM

The location of the bus.

 
GridLocation
 TelematicsIdO

ID of the hardware unit on the bus that tracks & reports location and status. The interpretation of the content is deployment specific, but the format must be compact.

 
xs:normalizedString
 TelemetryListO List
 TelemetryList/TelemetryOR

Indicators and values provided by the hardware along with this position snapshot. For events, it is safe to assume that one of these items triggered the hardware to issue an update.

The following values are suggested for common reports to enhance interoperability, but each deployment will have items dictated by the infrastructure. A format for reporting continuous-value metrics is also suggested.

Suggested Values:

Panic—panic button pressed

Accident—airbag deployed or some other detection

Checkpoint—manually triggered per procedures

Assistance—non-emergency request

Timer—timed report

RouteStatus—change to RouteStatus/Status

Open—door open

Close—door closed

ToD—shifted into "Drive"

OffD—shifted off "Drive"

StpLght—Stop Lights are on

WrngLght—Warning lights are on

StpArm—Stop arm is out

CrsngGt—Crossing gate is extended

EcmOp—ECM Oil Pressure is Low

EcmOt—ECM Oil Temperature is high

EcmTt—ECM transmission temperature is high

EcmTp—Transmission Oil Pressure is low

EcmFuelPrs—ECM Fuel Pressure is low

EcmExtIdle—ECM Extended engine idle period

EcmOvrSpeed—ECM engine over Speed

EcmVltg—ECM Voltage is low

OutBndry—Out of Boundary

FuelGauge-34pct—suggested continuous-value syntax, minimal use of special characters

 
xs:normalizedString
 BusDriverO

Information identifying the driver.

 
 
 BusDriver/NameC

The name of the driver. Condition is that at least one of this and EmployeePersonalRefId must be included.

 
Name
 BusDriver/EmployeePersonalRefId
     
C

The GUID of the driver's EmployeePersonal object. Condition is that at least one of this and BusDriver/Name must be included.

 
IdRefType
 BusDriver/StatusM

Boarding status of the driver.

 
values:
On
Driver boarded the bus and no exit detected
Off
Driver exited the bus
Sched
Scheduled for this run, but either hasn't boarded or the telematics hardware can't confirm who the driver is
 BusStaffListO

List identifying other staff. This may include aides, nurses, proctors, etc.

 
List
 BusStaffList/BusStaffOR

Information about an individual staff member on the bus.

 
 
 BusStaffList/BusStaff/Name
     
C

The name of this staff member. Condition is that at least one of this and EmployeePersonalRefId must be included.

 
Name
 BusStaffList/BusStaff/EmployeePersonalRefId
     
C

The GUID of the employee's EmployeePersonal object. Condition is that at least one of this and BusStaff/Name must be included.

 
IdRefType
 BusStaffList/BusStaff/Status
     
M

Boarding status of this staff member.

 
values:
On
Boarded the bus and no exit detected
Off
Exited the bus
Sched
Scheduled for this run, but either hasn't boarded or the telematics hardware can't confirm this staff's identity
 RouteStatusC

If the bus is running a route, this element must be included in the object. Absence means the bus is not operating a route.

 
 
 RouteStatus/BusRouteInfoRefId
     
M

The GUID that identifies the route.

 
IdRefType
 RouteStatus/StatusM

Status of the route.

 
values:
Begin
No students have been picked up yet
End
All students have been dropped off
Continue
In the midst of a run
@BusRouteDetailRefIdO

If the bus is currently at a stop in this route, identify the stop's SIF object.

 
IdRefType
 OtherStatusC

If the bus is not running a regularly scheduled route but is transporting (or positioning to transport) passengers as approved and directed by the school district, this element describes the activity. It's also used for maintenance, repair, and other authorized movements. This element is mutually exclusive with RouteStatus. Absence of both RouteStatus and OtherStatus is acceptable, but may indicate unauthorized operation.

The following values are suggested to enhance interoperability, but the field is free-form.

Suggested Values:

Field Trip

Sporting Event

Support Services

Maintenance

Repair

 
xs:normalizedString
 OdometerO

Current odometer reading.

 
xs:decimal
@UnitM

Units used in the odometer reading.

 
values:
km
Kilometers
m
Miles
 SpeedometerO

Current speedometer reading.

 
xs:decimal
@UnitM

Units used in the speedometer reading. 

 
values:
km
Kilometers/hour
m
Miles/hour
 StudentsOA list of students and their statuses. The complete list may be sent with some events (e.g. change in RouteStatus) per district policy, but it is more typical of responses. List
 Students/StudentOR

Each student's status.

 
 
 Students/Student/StudentPersonalRefId
     
M

GUID that identifies the student that this element refers to.

 
IdRefType
 Students/Student/StatusM

Boarding status of this student. Note: Values Sched, On and Off are typical of responses. Values Entered and Exited are typical of events.

 
values:
On
Student boarded the bus and no exit detected
Off
Student exited the bus
Entered
Boarded the bus since previous event
Exited
Left the bus since previous event
Sched
Scheduled for this run, but either hasn't boarded or the telematics hardware can't confirm student identities
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.3-1: BusPositionInfo
<BusPositionInfo BusInfoRefId="A2E35B359D75101A8C3D00AA001A0000"> <Date>2003-10-13</Date> <Time>13:39:12-08:00</Time> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> <TelematicsId>NexTel866-456-7890</TelematicsId> <TelemetryList> <Telemetry>Close</Telemetry> </TelemetryList> <BusDriver> <EmployeePersonalRefId>BB0300099D75101A8C3D00AA001A0000</EmployeePersonalRefId> <Status>Sched</Status> </BusDriver> <RouteStatus> <BusRouteInfoRefId>D3E34B359D75101A8C3D00AA001A1652</BusRouteInfoRefId> <Status>Continue</Status> </RouteStatus> <Odometer Unit="km">100000.0</Odometer> <Speedometer Unit="km">60</Speedometer> <Students> <Student> <StudentPersonalRefId>F3B35B359D75101A8C3D00AA001A0000</StudentPersonalRefId> <Status>Entered</Status> </Student> <Student> <StudentPersonalRefId>A7E35B359D75101A8C3D00BB211A0000</StudentPersonalRefId> <Status>Entered</Status> </Student> <Student> <StudentPersonalRefId>A9D35B359D75101A8C3D00AA001A9999</StudentPersonalRefId> <Status>Entered</Status> </Student> </Students> </BusPositionInfo>
Example 6.16.3-1: BusPositionInfo

6.16.4 BusRouteDetail

This object contains the schedule for the bus route.

SIF_Events are reported for this object.

BusRouteDetail
Figure 6.16.4-1: BusRouteDetail BusRouteDetail RefId BusRouteInfoRefId BusStopInfoRefId ArrivalTime SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusRouteDetail 

This object contains the schedule for the bus route.

 
 
@
key
RefIdM

GUID that identifies this object.

 
RefIdType
@BusRouteInfoRefIdM

GUID that identifies the bus route.

 
IdRefType
 BusStopInfoRefIdM

GUID that identifies a bus stop on the route.

 
IdRefType
 ArrivalTimeM

The time that the bus associated with this route will stop at this bus stop.

 
xs:time
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.4-1: BusRouteDetail
<BusRouteDetail RefId="D3E34B359D75101A8C3D00AA001A1652" BusRouteInfoRefId="C2F23F450B86234B9B3D00AA001A1652"> <BusStopInfoRefId>B7A34E561C97345C0A4E11BB112B2753</BusStopInfoRefId> <ArrivalTime>15:39:00-08:00</ArrivalTime> </BusRouteDetail>
Example 6.16.4-1: BusRouteDetail

6.16.5 BusRouteInfo

This object contains all of the information about a bus route.

SIF_Events are reported for this object.

BusRouteInfo
Figure 6.16.5-1: BusRouteInfo BusRouteInfo RefId BusInfoRefId RouteNumber RouteType MaximumLoad Description Name RouteDurationLoaded RouteDurationTotal RouteDistanceLoaded Unit RouteDistanceTotal Unit SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusRouteInfo 

This object contains all of the information about a bus route.

 
 
@
key
RefIdM

GUID that identifies this bus route.

 
RefIdType
 BusInfoRefIdM

GUID that identifies the bus that is associated with this route.

 
IdRefType
 RouteNumberM

A unique identifier for the route. It may contain any printable ASCII character. F or instance, you may have route 16AM in the morning and a 16PM in the afternoon.

 
xs:normalizedString
 RouteTypeM

The type of route.

 
values:
Inbound
Outbound
 MaximumLoadO

The maximum number of students who are on the bus at any point along this route.

 
xs:unsignedInt
 DescriptionO

Short explanation of the route. It may be used to designate an area, or used to color-code bus routes (the "orange" route).

 
xs:string
 NameO

Name of the driver who drives this route.

 
Name
 RouteDurationLoadedO

Refers to the amount of time that at least one student is riding the bus.

 
xs:duration
 RouteDurationTotalO

Includes time when no student is on the bus, including time driving to and from the garage, etc.

 
xs:duration
 RouteDistanceLoadedO

Refers to the distance the bus drives when at least one student is riding the bus.

 
xs:decimal
@UnitM

Distance unit used.

 
values:
km
kilometers
m
miles
 RouteDistanceTotalO

Includes the total distance driven for this route including to and from garage.

 
xs:decimal
@UnitM

Distance unit used.

 
values:
km
kilometers
m
miles
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.5-1: BusRouteInfo
<BusRouteInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <BusInfoRefId>A2E35B359D75101A8C3D00AA001A0000</BusInfoRefId> <RouteNumber>16AM</RouteNumber> <RouteType>Inbound</RouteType> <MaximumLoad>40</MaximumLoad> <Description>1st Transfer Bus</Description> <Name Type="02"> <LastName>Smith</LastName> <FirstName>Jon</FirstName> </Name> <RouteDurationLoaded>PT16M45S</RouteDurationLoaded> <RouteDurationTotal>PT28M00S</RouteDurationTotal> <RouteDistanceLoaded Unit="m">5.23</RouteDistanceLoaded> <RouteDistanceTotal Unit="m">9.9</RouteDistanceTotal> </BusRouteInfo>
Example 6.16.5-1: BusRouteInfo

6.16.6 BusStopInfo

This object contains information about a bus stop.

SIF_Events are reported for this object.

BusStopInfo
Figure 6.16.6-1: BusStopInfo BusStopInfo RefId Description GridLocation SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 BusStopInfo 

This object contains information about a bus stop.

 
 
@
key
RefIdM

GUID that identifies this location.

 
RefIdType
 DescriptionM

An explanation of this location.

 
xs:string
 GridLocationO

The location of the bus stop.

 
GridLocation
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.6-1: BusStopInfo
<BusStopInfo RefId="D3E34B359D75101A8C3D00AA001A1652"> <Description>Elm St @ Pine Ave</Description> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> </BusStopInfo>
Example 6.16.6-1: BusStopInfo

6.16.7 StudentTransportInfo

This object contains transportation information about a student. Students should have at least two StudentTransportInfo objects associated with them: one for inbound information (getting to school) and one for outbound information (leaving school). If their transportation changes based on the day of the week, then a student will have more than two StudentTransportInfo objects.

SIF_Events are reported for this object.

StudentTransportInfo
Figure 6.16.7-1: StudentTransportInfo StudentTransportInfo RefId StudentPersonalRefId Type DayOfWeek SchoolInfoRefId Eligibility HomeToSchoolDistance Unit WalkToStopDistance Unit StopToSchoolDistance Unit OriginPoint BusRouteDetailRefId ArrivalTime RouteNumber RouteDescription VehicleNumber BusStopDescription HomeBusRouteDetail SIF_RefObject TransferPoints TransferPoint EmbarkBusRouteDetail SIF_RefObject DisembarkBusRouteDetail SIF_RefObject SchoolBusRouteDetail SIF_RefObject DestinationPoint BusRouteDetailRefId ArrivalTime RouteNumber RouteDescription VehicleNumber BusStopDescription StateAidQualification TransportationStatus PublicExpense SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentTransportInfo 

This object contains transportation information about a student. Students should have at least two StudentTransportInfo objects associated with them: one for inbound information (getting to school) and one for outbound information (leaving school). If their transportation changes based on the day of the week, then a student will have more than two StudentTransportInfo objects.

 
 
@
key
RefIdM

GUID that identifies this object.

 
RefIdType
@StudentPersonalRefIdM

GUID that identifies the student that this object refers to.

 
IdRefType
@TypeM

The direction of transportation that this object refers to.

 
values:
Inbound
Outbound
@DayOfWeekM

This attribute indicates the day(s) of the week to which this object refers.

 
xs:token
xs:pattern(Mo)?(Tu)?(We)?(Th)?(Fr)?(Sa)?(Su)?
@SchoolInfoRefIdM

GUID referring to the school that the student attends on these day(s) of the week.

 
IdRefType
 EligibilityO

Eligibility status of student for district transportation for this trip.

Note: this element has been deprecated—use TransportationStatus and PublicExpense.

 
values:
Bus
Walk
BusHazard
BusOutOfAttendance
ParentPay
Unknown
 HomeToSchoolDistanceO

Distance between the student’s home address and the school.

 
xs:decimal
@UnitM

Units used in distance reporting.

 
values:
km
Kilometers
m
Miles
 WalkToStopDistanceO

Distance between the student’s address and the bus stop where they are picked up or dropped off.

 
xs:decimal
@UnitM

Units used in distance reporting.

 
values:
km
Kilometers
m
Miles
 StopToSchoolDistanceO

Distance between the bus stop where a student is picked up or dropped off and the school.

 
xs:decimal
@UnitM

Units used in distance reporting.

 
values:
km
Kilometers
m
Miles
 OriginPointO  
@BusRouteDetailRefIdM

GUID that identifies the bus stop/route where the student gets on the bus.

 
IdRefType
 OriginPoint/ArrivalTimeO

The time that the bus associated with this route will stop at this bus stop.

 
xs:time
 OriginPoint/RouteNumberO

A unique identifier for the route. For instance, you may have route 16AM in the morning and a 16PM in the afternoon.

 
xs:normalizedString
 OriginPoint/RouteDescription
     
O

Short explanation of the route.

 
xs:string
 OriginPoint/VehicleNumber
     
O

Vehicle number of the bus.

 
xs:normalizedString
 OriginPoint/BusStopDescription
     
O

An explanation of this location.

 
xs:string
 HomeBusRouteDetailO

GUID referring to a BusRouteDetail object that identifies the origin bus stop for an inbound route or the destination bus stop for an outbound route.

If the HomeBusRouteDetail element does not exist, then the student does not ride a bus to/from school.

Note: this element has been deprecated—use OriginPoint and DestinationPoint.

 
IdRefType
@SIF_RefObjectM values:
BusRouteDetail
 TransferPointsO List
 TransferPoints/TransferPoint
     
OR

There should be one TransferPoint element for each intermediate point on a trip. The "embark" and "disembark" bus stops for a single transfer point must be at the same location. To order multiple TransferPoint elements, use the Time element of the BusStopInfo objects referenced by the attributes.

 
 
 TransferPoints/TransferPoint/
     EmbarkBusRouteDetail
M

GUID that identifies the bus stop/route where the student gets on the bus.

 
IdRefType
@SIF_RefObjectM values:
BusRouteDetail
 TransferPoints/TransferPoint/
     DisembarkBusRouteDetail
M

GUID that identifies the bus stop/route where the student gets off the bus.

 
IdRefType
@SIF_RefObjectM values:
BusRouteDetail
 SchoolBusRouteDetailO

GUID referring to a BusRouteDetail object that identifies the origin bus stop for an outbound route or the destination bus stop for an inbound route.

If the SchoolBusRouteDetail does not exist, then the student does not ride a bus to/from school.

Note: this element has been deprecated—use OriginPoint and DestinationPoint.

 
IdRefType
@SIF_RefObjectM values:
BusRouteDetail
 DestinationPointO  
@BusRouteDetailRefIdM

GUID that identifies the bus stop/route where the student gets off the bus.

 
IdRefType
 DestinationPoint/ArrivalTime
     
O

The time that the bus associated with this route will stop at this bus stop.

 
xs:time
 DestinationPoint/RouteNumber
     
O

A unique identifier for the route. F or instance, you may have route 16AM in the morning and a 16PM in the afternoon.

 
xs:normalizedString
 DestinationPoint/RouteDescription
     
O

Short explanation of the route. It may be used to designate an area, or used to color-code bus routes (the "orange" route).

 
xs:string
 DestinationPoint/VehicleNumber
     
O

Vehicle number of the bus.

 
 
 DestinationPoint/BusStopDescription
     
O

An explanation of this location.

 
xs:string
 StateAidQualificationO

The qualification status of a student entitling local education agency to receive state transportation aid.

 
NCES0720StateTransportationAidQualificationType
 TransportationStatusO

Information about whether or not a student is transported to and/or from school or receives services, aid, or payment in lieu of transportation.

 
NCES0719TransportationStatusType
 PublicExpenseO

The eligibility of a student for transportation between home and school at local public expense because of distance, disability, or other reasons.

 
NCES0721TransportationAtPublicExpenseEligibilityType
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.16.7-1: StudentTransportInfo
<StudentTransportInfo RefId="D3E34B359D75101A8C3D00AA001A1652" StudentPersonalRefId="C2F23F450B86234B9B3D00AA001A1652" Type="Inbound" DayOfWeek="MoWeFr" SchoolInfoRefId="B7A34E561C97345C0A4E11BB112B2753"> <Eligibility>Bus</Eligibility> <HomeToSchoolDistance Unit="m">2.4</HomeToSchoolDistance> <WalkToStopDistance Unit="m">.4</WalkToStopDistance> <StopToSchoolDistance Unit="m">2.0</StopToSchoolDistance> <OriginPoint BusRouteDetailRefId="AAE34B359D75101A8C3D00AA001A1652"> <ArrivalTime>09:10:00</ArrivalTime> <RouteNumber>134A</RouteNumber> <RouteDescription>RiverFront</RouteDescription> <VehicleNumber>16</VehicleNumber> <BusStopDescription>Elm St @ Pine Ave</BusStopDescription> </OriginPoint> <HomeBusRouteDetail SIF_RefObject="BusRouteDetail">A3B7564E971C5C344E0ABB11EE272B53</HomeBusRouteDetail> <SchoolBusRouteDetail SIF_RefObject="BusRouteDetail">7B3AE465C17943C5A0E411BB11B27235</SchoolBusRouteDetail> <DestinationPoint BusRouteDetailRefId="AAE34B359D75101A8C3D00AA001A1652"> <ArrivalTime>09:31:00</ArrivalTime> <RouteNumber>134P</RouteNumber> <RouteDescription>RiverFront</RouteDescription> <VehicleNumber>16</VehicleNumber> <BusStopDescription>George Washington Elementary West</BusStopDescription> </DestinationPoint> <StateAidQualification>2065</StateAidQualification> <TransportationStatus>2060</TransportationStatus> <PublicExpense>2068</PublicExpense> </StudentTransportInfo>
Example 6.16.7-1: StudentTransportInfo

6.17 Vertical Reporting Task Force

The Vertical Reporting Task Force has the following responsibilities:

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

6.17.1 ReportAuthorityInfo

This object contains information on authorities that provide ReportManifest objects and/or collect SIF_ReportObject objects, such as state departments of education, regional service agencies, or other report collecting agencies.

SIF_Events are reported for this object.

ReportAuthorityInfo
Figure 6.17.1-1: ReportAuthorityInfo ReportAuthorityInfo RefId AuthorityName AuthorityId AuthorityDepartment AuthorityLevel ContactInfo Address PhoneNumber SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ReportAuthorityInfo 

This object contains information on authorities that provide ReportManifest objects and/or collect SIF_ReportObject objects, such as state departments of education, regional service agencies, or other report collecting agencies.

 
 
@
key
RefIdM

The unique identifier for this agency/report authority.

 
RefIdType
 AuthorityNameM

Name of the agency/report authority.

 
xs:normalizedString
 AuthorityIdM

The zone unique case-sensitive identifier for the authority. This will be the contents of the SIF_SourceId element in the header of requests for reports.

 
xs:token
 AuthorityDepartmentO

Department, office, or subdivision of the agency/report authority.

 
xs:normalizedString
 AuthorityLevelM

Level of the authority.

 
values:
Federal
State
RSA
LEA
School
Other
 ContactInfoO

Information on the contact person in this agency.

 
ContactInfo
 AddressO Address
 PhoneNumberO PhoneNumber
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.17.1-1: ReportAuthorityInfo
<ReportAuthorityInfo RefId="9746375937BB2A10AAB2758C46A12001"> <AuthorityName>XX State Department of Education</AuthorityName> <AuthorityId>StateDOEDataWarehouse</AuthorityId> <AuthorityDepartment>Bureau of Special Education</AuthorityDepartment> <AuthorityLevel>State</AuthorityLevel> <ContactInfo> <Name Type="02"> <Prefix>Dr.</Prefix> <LastName>Geisel</LastName> <FirstName>Theodore</FirstName> <PreferredName>Ted</PreferredName> </Name> <PositionTitle>State Superintendent</PositionTitle> <EmailList> <Email Type="Primary">drseuss@state.xx.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-0001</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Chicago</City> <StateProvince>IL</StateProvince> <Country>US</Country> <PostalCode>60660</PostalCode> </Address> <PhoneNumber Type="0096"> <Number>(555) 555-0000</Number> </PhoneNumber> </ReportAuthorityInfo>
Example 6.17.1-1: ReportAuthorityInfo

6.17.2 ReportManifest

This object provides a way to define a report within a SIF zone. It contains metadata about the report. This object represents a mutual agreement between senders and receivers of the report.

SIF_Events are reported for this object.

ReportManifest
Figure 6.17.2-1: ReportManifest ReportManifest RefId ReportAuthorityInfoRefId SIF_Version SIF_MaxBufferSize ReceivingAuthority SIF_RefObject ReportName Description ReportingPeriod BeginReportDate EndReportDate BeginSubmitDate EndSubmitDate DueDate ReportDefinitionSource Type QueryLanguage ReportFormatList ReportFormat Type ContentType SIF_QueryGroup SIF_Query SIF_ExtendedQuery SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 ReportManifest 

This object provides a way to define a report within a SIF zone. It contains metadata about the report. This object represents a mutual agreement between senders and receivers of the report.

 
 
@
key
RefIdM

The unique identifier for this report manifest.

 
RefIdType
@ReportAuthorityInfoRefIdM

ID (GUID) of the authority providing this manifest.

 
IdRefType
 SIF_VersionM

Specifies which SIF Implementation Specification version should be used when returning the report data; wildcards are allowed. When a wildcard is specified, the responding agent SHOULD attempt to return the report data in the version specified by SIF_Message/@Version, if that version matches the wildcard version. If not, the responding agent can return the data in any version it chooses that matches the wildcard version.

 
VersionWithWildcardsType
 SIF_MaxBufferSizeM

Specifies the maximum size of a packet to be returned to the report authority.

 
xs:unsignedInt
 ReceivingAuthorityO

The GUID of the authority for whom the report is intended, usually the same authority that defines this manifest.

 
IdRefType
@SIF_RefObjectM

The name of the object referenced.

 
values:
ReportAuthorityInfo
 ReportNameM

The authority's accepted name for the report.

 
xs:normalizedString
 DescriptionO

The description for the report.

 
xs:string
 ReportingPeriodO

Information on the period of time over which the report spans.

 
 
 ReportingPeriod/BeginReportDate
     
O

The first date for which the report contains information.

 
xs:date
 ReportingPeriod/EndReportDate
     
O

The last date for which the report contains information. May be the same as BeginReportDate for snapshot-type reports.

 
xs:date
 ReportingPeriod/BeginSubmitDate
     
O

The first date on which the report may be submitted to the authority.

 
xs:date
 ReportingPeriod/EndSubmitDate
     
O

The last date on which the report may be submitted to the authority.

 
xs:date
 ReportingPeriod/DueDateO

The official due date of the report.

 
xs:date
 ReportDefinitionSourceM

Indicates where the report definition can be found. If Type is Embedded or Base64Binary, this element's value contains the report definition. If Type is URL, this element's value is the location of the external definition. A Type value of SIF_Query indicates that the SIF_QueryGroup element contains the definition.

 
xs:string
@TypeM

This attribute indicates the source of the report definition.

 
values:
URL
Embedded
Base64Binary
SIF_Query
SIF_ExtendedQuery
@QueryLanguageM

The vendor-defined query language used in the report definition (e.g. SQL, ExampleObject, Description, com.vendor.format, etc.). If the Type attribute is SIF_Query, then QueryLanguage should also be SIF_Query. If the Type attribute is SIF_ExtendedQuery, then QueryLanguage should also be SIF_ExtendedQuery.

 
xs:token
 ReportFormatListO

An optional list of one or more third-party formats that describe the visual representation of the report data. If more than one report format is associated with a manifest, the implementation can choose the most applicable format by examining the ContentType attribute.

 
List
 ReportFormatList/ReportFormat
     
MR

A third-party format that describes the visual representation of the report data.

 
xs:string
@TypeM

This attribute indicates the encoding of the format reference.

 
values:
URL
Embedded
Base64Binary
@ContentTypeM

The vendor-defined content type (e.g. com.vendor.format, PDF, etc.

 
xs:normalizedString
 SIF_QueryGroupC

Parent element containing the querying criteria for extracting the report information if ReportDefinitionSource/@Type is SIF_Query.

 
List
 SIF_QueryGroup/SIF_QueryMR SIF_Query
 SIF_ExtendedQueryC

Query criteria for extracting the report information if ReportDefinitionSource/@Type is SIF_ExtendedQuery.

 
SIF_ExtendedQuery
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.17.2-1: ReportManifest
<ReportManifest RefId="C234516384746B387459000F84723A00" ReportAuthorityInfoRefId="84756373645746363738484848484832"> <SIF_Version>2.3</SIF_Version> <SIF_MaxBufferSize>102400000</SIF_MaxBufferSize> <ReceivingAuthority SIF_RefObject="ReportAuthorityInfo">84756373645746363738484848484812</ReceivingAuthority> <ReportName>December 1 IDEA Students</ReportName> <Description> A report of all IDEA-eligible students receiving services on December 1 </Description> <ReportingPeriod> <BeginReportDate>2003-12-01</BeginReportDate> <EndReportDate>2003-12-01</EndReportDate> <BeginSubmitDate>2003-12-02</BeginSubmitDate> <EndSubmitDate>2004-01-15</EndSubmitDate> <DueDate>2004-01-15</DueDate> </ReportingPeriod> <ReportDefinitionSource Type="URL" QueryLanguage="Description">http://www.state.edu/IDEAEligible.html</ReportDefinitionSource> <SIF_QueryGroup> <SIF_Query> <SIF_QueryObject ObjectName="StudentPersonal" /> </SIF_Query> <SIF_Query> <SIF_QueryObject ObjectName="StudentSchoolEnrollment" /> <SIF_ConditionGroup Type="And"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>EntryDate</SIF_Element> <SIF_Operator>LE</SIF_Operator> <SIF_Value>20031201</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="Or"> <SIF_Condition> <SIF_Element>ExitDate</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>20040530</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>ExitDate</SIF_Element> <SIF_Operator>GE</SIF_Operator> <SIF_Value>20031201</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> <SIF_Query> <SIF_QueryObject ObjectName="StudentParticipation" /> <SIF_ConditionGroup Type="And"> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>@Type</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>IDEA</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="None"> <SIF_Condition> <SIF_Element>ProgramPlacementDate</SIF_Element> <SIF_Operator>LE</SIF_Operator> <SIF_Value>20031201</SIF_Value> </SIF_Condition> </SIF_Conditions> <SIF_Conditions Type="Or"> <SIF_Condition> <SIF_Element>ProgramExitDate</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value /> </SIF_Condition> <SIF_Condition> <SIF_Element>ProgramExitDate</SIF_Element> <SIF_Operator>GE</SIF_Operator> <SIF_Value>20031201</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> </SIF_QueryGroup> </ReportManifest>
Example 6.17.2-1: ReportManifest

6.17.3 SIF_ReportObject

This object is an envelope used to send other data objects, typically reports, to authorities such as state departments of education, district offices, other schools, etc. It is also used to signal a data collector agent that a report is compiled and ready to be requested. SIF_ReportObject contains a data object, which is either complete or partial (a partial data object is one that contains a subset of the elements for the data object). One or a series of SIF_ReportObjects contained within one or a series of related SIF_Response messages makes up a complete report.

SIF_Events are reported for this object.

SIF_ReportObject
Figure 6.17.3-1: SIF_ReportObject SIF_ReportObject RefId ReportInfo ReportManifestRefId CalculationDate SubmissionNumber SubmissionReason ReportSubmitterInfo SIF_RefId SIF_RefObject SubmitterName SubmitterDepartment ContactInfo Address PhoneNumber SubmitterNotes Description ReportData SIF_ExtendedQueryResults SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 SIF_ReportObject 

This object is an envelope used to send other data objects, typically reports, to authorities such as state departments of education, district offices, other schools, etc. It is also used to signal a data collector agent that a report is compiled and ready to be requested. SIF_ReportObject contains a data object, which is either complete or partial (a partial data object is one that contains a subset of the elements for the data object). One or a series of SIF_ReportObjects contained within one or a series of related SIF_Response messages makes up a complete report.

 
 
@
key
RefIdM

The ID (GUID) that uniquely identifies this instance of a report.

 
RefIdType
 ReportInfoC

Identifies the manifest for the report and characteristics of the submission. This element is a conditional element. This element, the ReportData element, or the SIF_ExtendedQueryResults element is included but never more than one at the same time within an instance of this object. See examples of the usage of the object below.

 
 
@ReportManifestRefIdM

The report manifest corresponding to this report.

 
IdRefType
 ReportInfo/CalculationDate
     
M

The date on which the report was calculated.

 
xs:date
 ReportInfo/SubmissionNumber
     
M

A number that identifies the submission; beginning at 1 and incremented each time a submission is done for a particular report; used to indicate resubmission(s).

 
xs:positiveInteger
 ReportInfo/SubmissionReason
     
M

Reason for the report submission.

 
values:
Initial
Correction
Revision
Addition
 ReportInfo/ReportSubmitterInfo
     
C

Identifies the submitter of the report.

This element is conditional depending on the context in which the SIF_ReportObject is used. It must be present in the ReportInfo element when a SIF_ReportObject is sent to a report authority in a SIF_Event message. However, its presence is optional in SIF_ReportObject packets delivered to report authorities in SIF_Response messages.

 
 
 ReportInfo/ReportSubmitterInfo/
     SIF_RefId
O

If the submitter is described by another SIF data object such as a SchoolInfo or LEAInfo instance, this element references that object by RefId.

 
IdRefType
@SIF_RefObjectM

The name of a SIF data object. When used in the context of ReportSubmitterInfo, this attribute must have one of the following values.

 
values:
LEAInfo
The submitter of the SIF_ReportObject is the district or other agency referenced by a LEAInfo object
SchoolInfo
The submitter of the SIF_ReportObject is the school referenced by a SchoolInfo object
 ReportInfo/ReportSubmitterInfo/
     SubmitterName
M

Name of the report submitter.

This is a descriptive string that names the entity submitting the SIF_ReportObject to the report authority. It could be the name of an agency, a district, a school, the SIF_SourceId of the submitting agent, or any other string that a report authority could use to identify the submitter of a report. This element may be present regardless of the presence of the SIF_RefId and SIF_RefObject elements. When those elements are used, it is recommended that collector agents reproduce the name of the LEA or school here.

 
xs:normalizedString
 ReportInfo/ReportSubmitterInfo/
     SubmitterDepartment
O

Department, office, or subdivision of the agency submitting the report.

 
xs:normalizedString
 ReportInfo/ReportSubmitterInfo/
     ContactInfo
O

Information on the contact person in this agency submitting the report.

 
ContactInfo
 ReportInfo/ReportSubmitterInfo/
     Address
O Address
 ReportInfo/ReportSubmitterInfo/
     PhoneNumber
O PhoneNumber
 ReportInfo/ReportSubmitterInfo/
     SubmitterNotes
O

Optional notes for the report authority, such as information about a district's reporting policies and procedures, instructions for contacting the district for technical support, etc.

 
xs:string
 ReportInfo/DescriptionO xs:string
 ReportDataC

Container element for the report content; one valid SIF object can occur as a child here. This element is conditional. This element or ReportInfo or SIF_ExtendedQueryResults is included but never at the same time. See examples of the usage of the object below.

 
ReportDataObjectType
 SIF_ExtendedQueryResultsC

The report content resulting from a SIF_ExtendedQuery-based report. This element is conditional. This element or ReportInfo or ReportData is included but never at the same time.

 
SIF_ExtendedQueryResults
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.17.3-1: SIF_ReportObject
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>FAE9D90A38F84B729C92F868CB63C9F3</SIF_MsgId> <SIF_Timestamp>2006-10-15T09:23:26-05:00</SIF_Timestamp> <SIF_SourceId>XXXX Agent</SIF_SourceId> <SIF_DestinationId>STATE</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>EB79C3D1FF1911D785138B604A511DAD</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>No</SIF_MorePackets> <SIF_ObjectData> <SIF_ReportObject RefId="B234516384746B387459000F84723A00"> <ReportInfo ReportManifestRefId="B234516384746B387459000F84723A00"> <CalculationDate>2003-08-19</CalculationDate> <SubmissionNumber>1</SubmissionNumber> <SubmissionReason>Initial</SubmissionReason> <ReportSubmitterInfo> <SubmitterName>Wasatch School District 441</SubmitterName> <SubmitterDepartment>Central Data Services Center</SubmitterDepartment> <ContactInfo> <Name Type="02"> <LastName>Reynolds</LastName> <FirstName>Patricia</FirstName> </Name> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(555) 555-1010</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> <PhoneNumber Type="0096"> <Number>(555) 555-1010</Number> </PhoneNumber> <SubmitterNotes>Wasatch School District's Vertical Reporting policies can be found on-line at http://www.wasatchsif.org/policies/vr.html. Please contact Patricia Reynolds, Central Data Services Center, at (555) 555-1010 for more information.</SubmitterNotes> </ReportSubmitterInfo> </ReportInfo> </SIF_ReportObject> <SIF_ReportObject RefId="B234516384746B387459000F84723A00"> <ReportData> <StudentPersonal RefId="5D1F2390F33F11D7B64CD17E020C45AB"> <LocalId>2983</LocalId> <Name Type="04"> <LastName>Gedzyk</LastName> <FirstName>David</FirstName> </Name> <Demographics> <Gender>M</Gender> <PlaceOfBirth>West Allis</PlaceOfBirth> <CountyOfBirth>Milwaukee</CountyOfBirth> <StateOfBirth>WI</StateOfBirth> <CountryOfBirth>US</CountryOfBirth> <CountriesOfCitizenship> <CountryOfCitizenship>US</CountryOfCitizenship> </CountriesOfCitizenship> <CountriesOfResidency> <CountryOfResidency>US</CountryOfResidency> </CountriesOfResidency> <CitizenshipStatus>1017</CitizenshipStatus> <EnglishProficiency> <Code>1633</Code> </EnglishProficiency> </Demographics> <AddressList> <Address Type="0123"> <Street> <Line1>6799 33rd Ave.</Line1> <StreetNumber>6799</StreetNumber> <StreetName>33rd</StreetName> <StreetType>Ave.</StreetType> </Street> <City>West Allis</City> <County>Milwaukee</County> <StateProvince>WI</StateProvince> <Country>US</Country> <PostalCode>53219</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(414) 775-9644</Number> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="Primary">DavidGedzyk@sifinfo.org</Email> </EmailList> <OnTimeGraduationYear>2005</OnTimeGraduationYear> </StudentPersonal> </ReportData> </SIF_ReportObject> <SIF_ReportObject RefId="B234516384746B387459000F84723A00"> <ReportData> <StudentSchoolEnrollment RefId="5DF9A510F33F11D7B64C970DE3494F35" StudentPersonalRefId="5D1F2390F33F11D7B64CD17E020C45AB" SchoolInfoRefId="56E86900F33F11D7B64CBCCE0CB2E03A" MembershipType="Home" TimeFrame="Current" SchoolYear="2003"> <EntryDate>2002-09-02</EntryDate> <EntryType> <Code>1838</Code> </EntryType> <GradeLevel> <Code>12</Code> </GradeLevel> <Homeroom SIF_RefObject="RoomInfo">5A9BD410F33F11D7B64CB911AF996C9B</Homeroom> <Advisor SIF_RefObject="StaffPersonal">59B1E940F33F11D7B64CB2D1D11E84A2</Advisor> <FTE>1.00</FTE> <FTPTStatus>FullTime</FTPTStatus> </StudentSchoolEnrollment> </ReportData> </SIF_ReportObject> <SIF_ReportObject RefId="B234516384746B387459000F84723A00"> <ReportData> <SchoolInfo RefId="56E86900F33F11D7B64CBCCE0CB2E03A"> <SchoolName>John Tyler High</SchoolName> <SchoolType>2403</SchoolType> <SchoolURL>http://207.95.37.147:8080/sifcompliance/SchoolURL.jsp?SchoolName=JohnTylerHigh</SchoolURL> <PrincipalInfo> <ContactName>Barbara Riedy</ContactName> </PrincipalInfo> <AddressList> <Address Type="0765"> <Street> <Line1>14604 31st Ave.</Line1> <StreetNumber>14604</StreetNumber> <StreetName>31st</StreetName> <StreetType>Ave.</StreetType> </Street> <City>Boca Raton</City> <County>Palm Beach</County> <StateProvince>FL</StateProvince> <Country>US</Country> <PostalCode>33486</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(561) 702-7199</Number> </PhoneNumber> </PhoneNumberList> <IdentificationInfoList> <IdentificationInfo Code="0175">00126</IdentificationInfo> </IdentificationInfoList> <SessionType>0830</SessionType> <GradeLevels> <GradeLevel> <Code>09</Code> </GradeLevel> <GradeLevel> <Code>10</Code> </GradeLevel> <GradeLevel> <Code>11</Code> </GradeLevel> <GradeLevel> <Code>12</Code> </GradeLevel> </GradeLevels> </SchoolInfo> </ReportData> </SIF_ReportObject> </SIF_ObjectData> </SIF_Response> </SIF_Message>
Example 6.17.3-1: SIF_ReportObject

6.17.4 StudentLocator

This object provides a mechanism for requesting and updating state student identifiers. While communicated using SIF's request/response model, this object is an exception case in terms of how it interacts especially with SIF's query mechanisms (e.g. one wouldn't request certain elements be returned from StudentLocator). The use of this object is dictated by external use cases and best practices.

SIF_Events are not reported for this object.

Click here for non-normative background/supplementary documentation on this object.

StudentLocator
Figure 6.17.4-1: StudentLocator StudentLocator IdStatus TransactionId StateProvinceId Confidence LocalId StudentPersonalRefId RequestingAgencyId Type GradeLevel SSN Name Address Demographics Contact Relationship Name OtherId EducationalLevel EffectiveDate StartDate EndDate GraduationDate SchoolAttendedName SchoolAttendedLocation OtherId SIF_Error SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 StudentLocator 

This object provides a mechanism for requesting and updating state student identifiers. While communicated using SIF's request/response model, this object is an exception case in terms of how it interacts especially with SIF's query mechanisms (e.g. one wouldn't request certain elements be returned from StudentLocator). The use of this object is dictated by external use cases and best practices.

 
 
@IdStatusM

Communicates the orchestration status for the object.

Because the Cancel and Cancelled values model application behavior and may not be implemented by all systems that are otherwise capable of supporting StudentLocator objects, they are optional. If the requester (district) receives a Cancelled reply but does not support this functionality, the reply should be ignored without taking further action. If the responder (typically state) receives a Cancel request but does not support this functionality, it should reply with a SIF_Response where the SIF_Response/SIF_Error element is set to indicate an error. The SIF_Category should be set to 8 (Request and Response) and SIF_Code set to 9 (Unsupported query in request). Note: In this case the SIF_Response/SIF_Error element is used per normal SIF request/response protocol; not to be confused with the StudentLocator/SIF_Error element, which is to be used when a student lookup results in a processing error.

 
values:
Request
This is a request to the state for an ID. The StateProvinceId element may not necessarily be blank—if the requesting agency believes they know the student's state-assigned ID, StateProvinceId can be pre-filled for validation by the state.
Release
Some states require notification when a student leaves the district. This request, accompanied by a valid StateProvinceId, instructs the state to release the binding between this student and the LEA.. The response should also be qualified "Release."
Valid
Marks a response from the state with a valid StateProvinceId. If the Request included a StateProvinceId, the value of StateProvinceId in the response could be different.
Ambiguous
Marks a response where the state couldn't uniquely identify the student based on the information provided. The state may respond to the request with a single StudentLocator object marked "Ambiguous" and an empty StateProvinceId. Alternatively, if the district agent supports it, the state response may include one or more StudentLocator objects with candidate matches. Each of these objects would be marked "Ambiguous," and populated per the particular state's policies. StateProvinceId need not be empty in these objects.
Resolve
If the state and district choose to resolve ambiguities via StudentLocator, the district might follow up an "Ambiguous" response that included match candidate(s) with a "Resolve" request populated with the information from the match candidate selected by the district.
New
If the state and district choose to resolve ambiguities via StudentLocator, the district might follow up an "Ambiguous" response that included match candidate(s) with a request marked "New" to notify the state that none of the match candidates is appropriate and a new state-assigned ID should be created.
Cancel
A district can cancel a StudentLocator transaction in progress as follows: The requester issues a SIF_Request where IdStatus is set to Cancel and @TransactionId is set to the GUID of a previous transaction. This instructs the responder to cancel that transaction in progress. If successful, the responder replies with a SIF_Response where IdStatus is set to Cancelled. If the TransactionId is invalid, the cancel operation was not successful, or an exception occurred, the responder replies with a SIF_Response where IdStatus is set to Error and the SIF_Error element describes the error. Both sides consider the transaction cancelled.
Cancelled
A state can inform a district that it has cancelled a StudentLocator transaction as follows: The responder (typically state) replies to a prior SIF_Request with a SIF_Response where IdStatus is Cancelled. This informs the requester (typically district) that the transaction has been cancelled for whatever reason (usually at the direction of state administrative staff through some application user interface). The transaction ends.
Error
When IdStatus is set to Error, the SIF_Error element provides details about the error.
@TransactionIdM

GUID that allows requesters and responders to refer to the same logical StudentLocator "transaction" over more than one SIF_Request/SIF_Response exchange.

 
GUIDType
 StateProvinceIdM

This is the student's state-assigned ID. May be empty in a response where IdStatus is "Ambiguous."

NOTE: Although used in the context of a Request query, this field conveys information to (and from) the state and typically does not participate in the matching logic.

 
StateProvinceId
 ConfidenceO

Confidence score. The main use of this element is when IdStatus equals "Ambiguous" and the state returns one or more* candidate matches. The interpretation is that the information populated in each returned object matches the information in the request to the extent expressed in this score. The matching/scoring algorithms (and resultant values) are defined by the particular state.

States may also choose to use this element for the district to indicate in the query what score threshold it wants associated with the request.

*A response marked "Ambiguous" with a single match candidate populated likely means that the Confidence score is below the state's threshold for assignment but above the threshold for creating a new state-assigned ID.

 
xs:normalizedString
 LocalIdO

This is the requesting agency's unique ID for the student.

NOTE: Although used in the context of a Request query, this field conveys information to (and from) the state and typically does not participate in the matching logic.

 
LocalId
 StudentPersonalRefIdO

Requesting agency's local zone GUID of the student's StudentPersonal object.

NOTE: Although used in the context of a Request query, this field conveys information to (and from) the State and typically does not participate in the matching logic.

 
IdRefType
 RequestingAgencyIdOR

Identification of the agency and/or location requesting the state ID. Optional because the SIF Zone infrastructure may provide adequate information for the state to ascertain the origin of the request.

NOTE: Although used in the context of a Request query, this field conveys information to the state and typically does not participate in the matching logic.

 
xs:normalizedString
@TypeM

The functional level of the requesting agency.

 
values:
ESA
Educational Services Agency
LEA
Local Educational Agency (District)
School
 GradeLevelO

The student's current grade level.

 
GradeLevel
 SSNO

Social security number of the student.

 
xs:normalizedString
 NameOR

The name(s) of the student.

 
Name
 AddressOR

The address(es) of the student.

 
Address
 DemographicsO

Demographic information about the student. This will typically be the core matching information. Privacy considerations may mean that it is filled differently here than it might be in a local StudentPersonal, but it must include enough to drive the state's matching algorithms.

 
Demographics
 ContactOR

Typically used to provide the state information about a student's parents and legal guardians.

 
 
 Contact/RelationshipM

Relationship to the student.

 
Relationship
 Contact/NameOR

The name(s) of the contact.

 
Name
 Contact/OtherIdO

An other ID associated with the contact.

 
OtherId
 Contact/EducationalLevelO

Highest level of education completed by the contact.

 
EducationalLevel
 EffectiveDateO

For Requests, this should match StudentSchoolEnrollment/EntryDate.

For Releases, StudentSchoolEnrollment/ExitDate.

NOTE: Although used in the context of a Request query, this field conveys information to the state and typically does not participate in the matching logic.

 
xs:date
 StartDateOBegin date for a range that is being requested. Note: In most cases this will correspond to the school entry date. xs:date
 EndDateOEnd date for a range that is being requested. Note: In most cases this will correspond to the school exit date. xs:date
 GraduationDateO

Indicates the date the student graduated—Year, Year and Month, or Year, Month and Day may be specified. Intended to facilitate locating students that may not be currently enrolled in a school or district, particularly in the context of locating student identifiers for initiating a request for a student's academic record. Supplied date values may often be approximations made by the entity endeavoring to request a student's academic record.

 
GraduationDate
 SchoolAttendedNameO

The name of the school last attended by the student.

 
xs:normalizedString
 SchoolAttendedLocationO

The location of the school last attended by the student (e.g. city or county name, district name, etc.).

 
xs:normalizedString
 OtherIdO

Additional student identifier not represented elsewhere in StudentLocator (e.g. the driver's license number of the student).

 
OtherId
 SIF_ErrorC

When IdStatus is set to Error, this element provides details about the error. Rather than the specification defining a list of possible error categories and codes for StudentLocator transactions, the SIF_Category and SIF_Code elements may contain values defined by the application that is responding to the StudentLocator request. It is recommended the requester convey these values in log files or error reports, along with the SIF_Desc and optional SIF_ExtendedDesc elements.

 
SIF_Error
 SIF_MetadataO

SIF_Metadata/TimeElement may be specified as metadata of a StudentLocator SIF_Request to indicate a time duration to which the request parameters apply (as opposed to adding new elements to the StudentLocator object). This metadata may be supplied by systems that know a student existed in a district during a certain time period (e.g. a system initiating a student record exchange). If the responder is able to make use of the metadata, it may do so to narrow down the student look-up; otherwise the metadata can be ignored or logged.

 
SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table 6.17.4-1: StudentLocator
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Request> <SIF_Header> <SIF_MsgId>800D2581E7DA4E64AC298CA0ACE51C18</SIF_MsgId> <SIF_Timestamp>2006-01-29T16:21:23-06:00</SIF_Timestamp> <SIF_SourceId>DistrictAgent</SIF_SourceId> </SIF_Header> <SIF_Version>2.3</SIF_Version> <SIF_MaxBufferSize>8000</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="StudentLocator" /> <SIF_ConditionGroup Type="None"> <SIF_Conditions Type="And"> <SIF_Condition> <SIF_Element>@IdStatus</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Request</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>LocalId</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>123456</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/Gender</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>F</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/BirthDate</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>1989-01-02</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/PlaceOfBirth</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Miami</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/CountyOfBirth</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Dade</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/StateOfBirth</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>FL</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/CountryOfBirth</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>US</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/CountriesOfCitizenship/CountryOfCitizenship</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>US</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>EffectiveDate</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>2003-08-01</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>RequestingAgencyId[@Type="LEA"]</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>98</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>RequestingAgencyId[@Type="School"]</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>1010</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Name[@Type="04"]/LastName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Doe</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Name[@Type="04"]/FirstName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Cameron</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Name[@Type="04"]/MiddleName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>K</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/RaceList/Race[Code="1002"]/Proportion</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>75</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Demographics/RaceList/Race[Code="0999"]/Proportion</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>25</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Contact[Relationship/Code="1735"]/EducationalLevel</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>1050</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Contact[Relationship/Code="1735"]/Name[@Type="04"]/LastName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Fung</SIF_Value> </SIF_Condition> <SIF_Condition> <SIF_Element>Contact[Relationship/Code="1735"]/Name[@Type="04"]/FirstName</SIF_Element> <SIF_Operator>EQ</SIF_Operator> <SIF_Value>Connie</SIF_Value> </SIF_Condition> </SIF_Conditions> </SIF_ConditionGroup> </SIF_Query> </SIF_Request> </SIF_Message>
Example 6.17.4-1: StudentLocator Query
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Request> <SIF_Header> <SIF_MsgId>800D2581E7DA4E64AC298CA0ACE51C18</SIF_MsgId> <SIF_Timestamp>2006-01-29T16:21:23-06:00</SIF_Timestamp> <SIF_SourceId>DistrictAgent</SIF_SourceId> </SIF_Header> <SIF_Version>2.3</SIF_Version> <SIF_MaxBufferSize>8000</SIF_MaxBufferSize> <SIF_Query> <SIF_QueryObject ObjectName="StudentLocator" /> <SIF_Example> <StudentLocator IdStatus="Request" TransactionId="A731E63562984A00B02543E87DC5906D"> <LocalId>123456</LocalId> <RequestingAgencyId Type="LEA">98</RequestingAgencyId> <RequestingAgencyId Type="School">1010</RequestingAgencyId> <Name Type="04"> <LastName>Doe</LastName> <FirstName>Cameron</FirstName> <MiddleName>K</MiddleName> </Name> <Demographics> <RaceList> <Race> <Code>1002</Code> <Proportion>75</Proportion> </Race> <Race> <Code>0999</Code> <Proportion>25</Proportion> </Race> </RaceList> <Gender>F</Gender> <BirthDate>1989-01-02</BirthDate> <PlaceOfBirth>Miami</PlaceOfBirth> <CountyOfBirth>Dade</CountyOfBirth> <StateOfBirth>FL</StateOfBirth> <CountryOfBirth>US</CountryOfBirth> <CountriesOfCitizenship> <CountryOfCitizenship>US</CountryOfCitizenship> </CountriesOfCitizenship> </Demographics> <Contact> <Relationship> <Code>1735</Code> </Relationship> <Name Type="04"> <LastName>Fung</LastName> <FirstName>Connie</FirstName> </Name> <EducationalLevel>1050</EducationalLevel> </Contact> <EffectiveDate>2003-08-01</EffectiveDate> </StudentLocator> </SIF_Example> </SIF_Query> </SIF_Request> </SIF_Message>
Example 6.17.4-2: StudentLocator Query (SIF_Example)
<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Response> <SIF_Header> <SIF_MsgId>B0A37581E7DA4E64AC298CA0ACE59CE3</SIF_MsgId> <SIF_Timestamp>2006-01-29T16:24:01-06:00</SIF_Timestamp> <SIF_SourceId>StateAgent</SIF_SourceId> <SIF_DestinationId>DistrictAgent</SIF_DestinationId> </SIF_Header> <SIF_RequestMsgId>800D2581E7DA4E64AC298CA0ACE51C18</SIF_RequestMsgId> <SIF_PacketNumber>1</SIF_PacketNumber> <SIF_MorePackets>No</SIF_MorePackets> <SIF_ObjectData> <StudentLocator IdStatus="Valid" TransactionId="A731E63562984A00B02543E87DC5906D"> <StateProvinceId>98765</StateProvinceId> <LocalId>123456</LocalId> </StudentLocator> </SIF_ObjectData> </SIF_Response> </SIF_Message>
Example 6.17.4-3: StudentLocator Response

Appendix A: Common Types

Common and supporting types referenced in this specification are included here as a reference.

A.1 AbstractContentElementType

AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.

AbstractContentElementType
Figure A.1-1: AbstractContentElementType AbstractContentElementType XMLData Description TextData MIMEType FileName Description BinaryData MIMEType FileName Description Reference MIMEType Description URL
 Element/@AttributeCharDescriptionType
 AbstractContentElementType 

AbstractContentPackageType used as an element rather than an object, omitting RefId, SIF_Metadata and SIF_ExtendedElements.

 
 
 XMLDataC

Contains an arbitary XML element, encoded in UTF-8.

 
<xs:any processContents="lax" />
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 TextDataC

Contains arbitrary text, encoded in UTF-8.

 
xs:string
@MIMETypeO

Optional MIME type to specifically indicate the text type. Otherwise text/plain can be assumed.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 BinaryDataC

Contains the base64Binary encoding of binary or text data not encoded in UTF-8.

 
xs:base64Binary
@MIMETypeM

MIME type to indicate the content type.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 ReferenceC

References external content via a URL.

 
 
@MIMETypeM

MIME type to indicate the content type to be expected when retrieving the external content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 Reference/URLM

Location of external content.

 
xs:anyURI
Table A.1-1: AbstractContentElementType

A.2 AbstractContentPackageType

An abstract type for derived content package types, elements and objects. This structure may be used verbatim, optionally extending with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML contained in XMLData. Only one instance of XMLData, TextData, BinaryData or Reference can occur in a single instance.

AbstractContentPackageType
Figure A.2-1: AbstractContentPackageType AbstractContentPackageType RefId XMLData Description TextData MIMEType FileName Description BinaryData MIMEType FileName Description Reference MIMEType Description URL SIF_Metadata SIF_ExtendedElements
 Element/@AttributeCharDescriptionType
 AbstractContentPackageType 

An abstract type for derived content package types, elements and objects. This structure may be used verbatim, optionally extending with additional attributes, or may be redefined to include only a subset of child elements and/or to add validation to XML contained in XMLData. Only one instance of XMLData, TextData, BinaryData or Reference can occur in a single instance.

 
 
@
key
RefIdM

The GUID that uniquely identifies an instance of the package.

 
RefIdType
 XMLDataC

Contains an arbitary XML element, encoded in UTF-8.

 
<xs:any processContents="lax" />
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 TextDataC

Contains arbitrary text, encoded in UTF-8.

 
xs:string
@MIMETypeO

Optional MIME type to specifically indicate the text type. Otherwise text/plain can be assumed.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 BinaryDataC

Contains the base64Binary encoding of binary or text data not encoded in UTF-8.

 
xs:base64Binary
@MIMETypeM

MIME type to indicate the content type.

 
xs:token
@FileNameO

Optional file name to indicate the file from which the content originated, or to suggest a name to use when saving the content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 ReferenceC

References external content via a URL.

 
 
@MIMETypeM

MIME type to indicate the content type to be expected when retrieving the external content.

 
xs:token
@DescriptionO

Contains an optional description of the content or a processing hint with regard to its structure (e.g. named standard, file layout or XSD). Contents may be mandated in instances of this type, or types that follow the AbstractContentPackageType pattern.

 
xs:token
 Reference/URLM

Location of external content.

 
xs:anyURI
 SIF_MetadataO SIF_Metadata
 SIF_ExtendedElementsO SIF_ExtendedElements
Table A.2-1: AbstractContentPackageType

A.3 BaseNameType

Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.

BaseNameType
Figure A.3-1: BaseNameType BaseNameType Prefix LastName FirstName MiddleName Suffix PreferredName SortName FullName
 Element/@AttributeCharDescriptionType
 BaseNameType 

Base type, without attributes, for Name elements, primarily to allow structure to be leveraged with different Type attribute values.

 
 
 PrefixO

A prefix associated with the name like Mr., Ms., etc.

 
xs:normalizedString
 LastNameM

The last name.

 
LastName
 FirstNameM

The first name.

 
FirstName
 MiddleNameO

The middle name or initial.

 
MiddleName
 SuffixO

Generation of suffix like II, Jr., etc.

 
xs:normalizedString
 PreferredNameO

This is a name that the person prefers to be called by.

 
xs:normalizedString
 SortNameO

This is the name to be used for sorting purposes.

 
xs:normalizedString
 FullNameO

A free text field for the complete name.

 
xs:normalizedString
Table A.3-1: BaseNameType
<Name Type="04"> <Prefix>Mr.</Prefix> <LastName>Woodall</LastName> <FirstName>Charles</FirstName> <MiddleName>William</MiddleName> <PreferredName>Chuck</PreferredName> </Name>
Example A.3-1: BaseNameType

A.4 DefinedProtocolsType

The transport protocols defined in SIF.
DefinedProtocolsType
Figure A.4-1: DefinedProtocolsType DefinedProtocolsType
 Element/@AttributeCharDescriptionType
 DefinedProtocolsType The transport protocols defined in SIF. values:
HTTPS
HTTP
Table A.4-1: DefinedProtocolsType

A.5 ExtendedContentType

Allows for any mixed XML in an element.
ExtendedContentType
Figure A.5-1: ExtendedContentType ExtendedContentType
 Element/@AttributeCharDescriptionType
 ExtendedContentType Allows for any mixed XML in an element. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.5-1: ExtendedContentType

A.6 FSAmountType

This provides information about the value of a food service transaction amount. When credits are specified the value is the total cash value of all the credits.

FSAmountType
Figure A.6-1: FSAmountType FSAmountType Type Credits
 Element/@AttributeCharDescriptionType
 FSAmountType  MonetaryAmountType
@Type 

Type of amount. Note that when this common element is used not all of the following values apply. There are notes to indicate values that are applicable.

The type Value is used to denote the value of the amount.

 
values:
Cash
BreakfastCredit
LunchCredit
Check
CreditCard
ACH
Value
@Credits 

Number of credits. This attribute does not apply to Cash or Value and hence has a value 0. It only applies to types BreakfastCredit and LunchCredit.

 
xs:decimal
Table A.6-1: FSAmountType

A.7 FSCountType

Reports aggregate counts and, optionally, received funds for individual combinations of student or staff meal status and meal type.

FSCountType
Figure A.7-1: FSCountType FSCountType MealStatus EarnedStatus MealType Amount Tax Value
 Element/@AttributeCharDescriptionType
 FSCountType 

Reports aggregate counts and, optionally, received funds for individual combinations of student or staff meal status and meal type.

 
 
 MealStatusC

Student meal status. If a meal status applies, either MealStatus (for students), or EarnedStatus (for staff) is specified.

 
MealStatus
 EarnedStatusC

Staff meal status.

 
EarnedStatus
 MealTypeO MealType
 AmountO FSAmountType
 TaxO

Value of tax collected.

 
MonetaryAmountType
 ValueM

The value of the count.

 
xs:decimal
Table A.7-1: FSCountType

A.8 GUIDType

SIF format for a GUID.
GUIDType
Figure A.8-1: GUIDType GUIDType
 Element/@AttributeCharDescriptionType
 GUIDType SIF format for a GUID. xs:token
xs:pattern[0-9A-F]{32}
Table A.8-1: GUIDType

A.9 IdRefType

A reference to a RefId.
IdRefType
Figure A.9-1: IdRefType IdRefType
 Element/@AttributeCharDescriptionType
 IdRefType A reference to a RefId. RefIdType
Table A.9-1: IdRefType

A.10 MonetaryAmountType

A monetary amount.

MonetaryAmountType
Figure A.10-1: MonetaryAmountType MonetaryAmountType Currency
 Element/@AttributeCharDescriptionType
 MonetaryAmountType 

A monetary amount.

 
xs:decimal
@CurrencyOCurrency code. Where omitted, defaults to implementation-defined local currency, typically USD in the United States. ISO4217CurrencyNamesAndCodeElementsType
Table A.10-1: MonetaryAmountType

A.11 MsgIdType

A message identifier.
MsgIdType
Figure A.11-1: MsgIdType MsgIdType
 Element/@AttributeCharDescriptionType
 MsgIdType A message identifier. GUIDType
Table A.11-1: MsgIdType

A.12 NameOfRecordType

Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record; serves as the primary name in some SIF objects, including StudentPersonal.

NameOfRecordType
Figure A.12-1: NameOfRecordType NameOfRecordType Type
 Element/@AttributeCharDescriptionType
 NameOfRecordType 

Extends BaseNameType to allow for one Type attribute value, indicating the name is the name of record; serves as the primary name in some SIF objects, including StudentPersonal.

 
BaseNameType
@TypeM

Code that specifies what type of name this is.

 
values:
04
Name of Record
Table A.12-1: NameOfRecordType

A.13 ObjectNameType

An unenumerated SIF object name.

ObjectNameType
Figure A.13-1: ObjectNameType ObjectNameType
 Element/@AttributeCharDescriptionType
 ObjectNameType 

An unenumerated SIF object name.

 
xs:NCName
xs:maxLength64
Table A.13-1: ObjectNameType

A.14 OrganizationRelationshipType

Provides information about a student's relationship to an organization.

OrganizationRelationshipType
Figure A.14-1: OrganizationRelationshipType OrganizationRelationshipType ResidencyStatus Code OtherCodeList ProvidingInstruction ProvidingServices FinanciallyResponsible
 Element/@AttributeCharDescriptionType
 OrganizationRelationshipType 

Provides information about a student's relationship to an organization.

 
 
 ResidencyStatusM  
 ResidencyStatus/CodeM

Location of an individual's legal residence relative to (within or outside) the boundaries of the organization.

 
NCES0598PublicSchoolResidenceStatusType
 ResidencyStatus/OtherCodeList
     
O OtherCodeList
 ProvidingInstructionM

Flag that indicates if the reporting organization is providing instruction to the student.

 
xs:boolean
 ProvidingServicesM

Flag that indicates if the reporting organization is providing services that are not related to instruction to the student. An example of a non-instructional service is transportation.

 
xs:boolean
 FinanciallyResponsibleM

Flag that indicates if the reporting organization is financially responsible for the student.

 
xs:boolean
Table A.14-1: OrganizationRelationshipType

A.15 OtherNameType

Extends BaseNameType to allow for Type attribute values excluding "name of record." Used for other names to be included in addition to the name of record in objects like StudentPersonal.

OtherNameType
Figure A.15-1: OtherNameType OtherNameType Type
 Element/@AttributeCharDescriptionType
 OtherNameType 

Extends BaseNameType to allow for Type attribute values excluding "name of record." Used for other names to be included in addition to the name of record in objects like StudentPersonal.

 
BaseNameType
@TypeM

Code that specifies what type of name this is, excluding "name of record."

 
values:
01
Given Name (Name at Birth)
02
Current Legal
03
Alias
05
Previous Name (sometimes called Maiden Name of Female Persons)
07
Married Name
08
Professional Name
Table A.15-1: OtherNameType

A.16 PartialDateType

A year, with an optional month/day, or an optional month by itself.

PartialDateType
Figure A.16-1: PartialDateType PartialDateType
 Element/@AttributeCharDescriptionType
 PartialDateType 

A year, with an optional month/day, or an optional month by itself.

 
union of:

xs:date
xs:gYearMonth
xs:gYear
Table A.16-1: PartialDateType

A.17 RefIdType

An object or element identifier.
RefIdType
Figure A.17-1: RefIdType RefIdType
 Element/@AttributeCharDescriptionType
 RefIdType An object or element identifier. GUIDType
Table A.17-1: RefIdType

A.18 ReportDataObjectType

The SIF objects that can be included in SIF_ReportObject/ReportData, plus ReportPackage.
ReportDataObjectType
Figure A.18-1: ReportDataObjectType ReportDataObjectType AccountingPeriod Activity ActivityProvider AggregateCharacteristicInfo AggregateStatisticFact AggregateStatisticInfo Assessment AssessmentAdministration AssessmentForm AssessmentItem AssessmentPackage AssessmentRegistration AssessmentSubTest Assignment AttendanceCodeInfo Authentication Billing BusEquipment BusInfo BusPositionInfo BusRouteDetail BusRouteInfo BusStopInfo CalendarDate CalendarSummary CurriculumStructure DisciplineIncident EmployeeAssignment EmployeeContract EmployeeCredential EmployeeCredit EmployeePersonal EmployeePicture EmployeeRecertification EmployeeWage EmploymentRecord FinancialAccount FinancialAccountAccountingPeriodLocationInfo FinancialAnnual FinancialBudget FinancialClass FinancialIncomeStatement FinancialTransaction FiscalYear FoodserviceItem FoodserviceItemPortion FoodserviceItemSales FoodserviceItemUnit FoodserviceMealPrices FoodserviceMenuPlan FoodserviceMilkSales FoodservicePurchaseTransaction FoodserviceReimbursementRates FoodserviceSales FoodserviceStaffEnrollmentCount FoodserviceStaffMealCounts FoodserviceStudentEnrollmentCount FoodserviceStudentMealCounts FoodserviceTransaction FoodserviceTransactionDetails FoodserviceTransactionPayMethod GradingAssignment GradingAssignmentScore GradingCategory ItemCharacteristics LEAInfo LearningResource LearningResourcePackage LearningStandardDocument LearningStandardItem Lesson LibraryPatronStatus LocationInfo MarkInfo MarkValueInfo OfficialStudentPeriodAttendance Payment ProfessionalDevelopmentActivities ProfessionalDevelopmentProgram ProfessionalDevelopmentRegistration Purchasing ReportAuthorityInfo ReportManifest RoomInfo RoomType SchoolCourseInfo SchoolInfo SEAInfo SectionInfo SectionMarkInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus StaffAssignment StaffMeal StaffPersonal StudentAcademicRecord StudentActivityInfo StudentActivityParticipation StudentAttendanceSummary StudentContact StudentDailyAttendance StudentDemographicRecord StudentGrade StudentLEARelationship StudentLocator StudentMeal StudentParticipation StudentPeriodAttendance StudentPersonal StudentPicture StudentPlacement StudentRecordExchange StudentRecordPackage StudentResponseSet StudentSchoolEnrollment StudentScoreSet StudentSectionEnrollment StudentSectionMarks StudentSnapshot StudentSpecialEducationRecord StudentTransportInfo TermInfo TestAccommodation TimeWorked VendorInfo W4 ReportPackage
 Element/@AttributeCharDescriptionType
 ReportDataObjectType The SIF objects that can be included in SIF_ReportObject/ReportData, plus ReportPackagechoice of:

AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
Assessment
AssessmentAdministration
AssessmentForm
AssessmentItem
AssessmentPackage
AssessmentRegistration
AssessmentSubTest
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredential
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeRecertification
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialAnnual
FinancialBudget
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodserviceMilkSales
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceStaffEnrollmentCount
FoodserviceStaffMealCounts
FoodserviceStudentEnrollmentCount
FoodserviceStudentMealCounts
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
ItemCharacteristics
LEAInfo
LearningResource
LearningResourcePackage
LearningStandardDocument
LearningStandardItem
Lesson
LibraryPatronStatus
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SEAInfo
SectionInfo
SectionMarkInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
StaffAssignment
StaffMeal
StaffPersonal
StudentAcademicRecord
StudentActivityInfo
StudentActivityParticipation
StudentAttendanceSummary
StudentContact
StudentDailyAttendance
StudentDemographicRecord
StudentGrade
StudentLEARelationship
StudentLocator
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentRecordExchange
StudentRecordPackage
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentSnapshot
StudentSpecialEducationRecord
StudentTransportInfo
TermInfo
TestAccommodation
TimeWorked
VendorInfo
W4
ReportPackage
Table A.18-1: ReportDataObjectType

A.19 ReportPackageType

This package has exactly the same structure as AbstractContentPackageType. ReportPackage can be used in addition to SIF objects specifically in reporting situations within SIF_ReportObject. At this time, it is not a SIF object. It cannot be requested via SIF_Query or SIF_ExtendedQuery in a ReportManifest. It may be included in SIF_ReportObject as part of an external report definition.
ReportPackageType
Figure A.19-1: ReportPackageType ReportPackageType
 Element/@AttributeCharDescriptionType
 ReportPackageType  This package has exactly the same structure as AbstractContentPackageType. ReportPackage can be used in addition to SIF objects specifically in reporting situations within SIF_ReportObject. At this time, it is not a SIF object. It cannot be requested via SIF_Query or SIF_ExtendedQuery in a ReportManifest. It may be included in SIF_ReportObject as part of an external report definition.  AbstractContentPackageType
Table A.19-1: ReportPackageType

A.20 SelectedContentType

Allows an XML fragment selected from an object to be used in an element with XML validation skipped.
SelectedContentType
Figure A.20-1: SelectedContentType SelectedContentType
 Element/@AttributeCharDescriptionType
 SelectedContentType Allows an XML fragment selected from an object to be used in an element with XML validation skipped. 
<xs:complexContent mixed="true"> <xs:restriction base="xs:anyType"> <xs:sequence> <xs:any processContents="skip" minOccurs="0" maxOccurs="unbounded" /> </xs:sequence> </xs:restriction> </xs:complexContent>
Table A.20-1: SelectedContentType

A.21 SIF_EventObjectType

The SIF objects that can be included in a SIF_Event message.
SIF_EventObjectType
Figure A.21-1: SIF_EventObjectType SIF_EventObjectType AccountingPeriod Activity ActivityProvider AggregateCharacteristicInfo AggregateStatisticFact AggregateStatisticInfo AssessmentAdministration AssessmentRegistration Assignment AttendanceCodeInfo Authentication Billing BusEquipment BusInfo BusPositionInfo BusRouteDetail BusRouteInfo BusStopInfo CalendarDate CalendarSummary CurriculumStructure DisciplineIncident EmployeeAssignment EmployeeContract EmployeeCredit EmployeePersonal EmployeePicture EmployeeWage EmploymentRecord FinancialAccount FinancialAccountAccountingPeriodLocationInfo FinancialClass FinancialIncomeStatement FinancialTransaction FiscalYear FoodserviceItem FoodserviceItemPortion FoodserviceItemSales FoodserviceItemUnit FoodserviceMealPrices FoodserviceMenuPlan FoodservicePurchaseTransaction FoodserviceReimbursementRates FoodserviceSales FoodserviceTransaction FoodserviceTransactionDetails FoodserviceTransactionPayMethod GradingAssignment GradingAssignmentScore GradingCategory LEAInfo LearningResource LearningStandardDocument LearningStandardItem Lesson LocationInfo MarkInfo MarkValueInfo OfficialStudentPeriodAttendance Payment ProfessionalDevelopmentActivities ProfessionalDevelopmentProgram ProfessionalDevelopmentRegistration Purchasing ReportAuthorityInfo ReportManifest RoomInfo RoomType SchoolCourseInfo SchoolInfo SectionInfo SectionMarkInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus StaffAssignment StaffMeal StaffPersonal StudentActivityInfo StudentActivityParticipation StudentContact StudentDailyAttendance StudentGrade StudentLEARelationship StudentMeal StudentParticipation StudentPeriodAttendance StudentPersonal StudentPicture StudentPlacement StudentResponseSet StudentSchoolEnrollment StudentScoreSet StudentSectionEnrollment StudentSectionMarks StudentTransportInfo TermInfo TimeWorked VendorInfo W4
 Element/@AttributeCharDescriptionType
 SIF_EventObjectType The SIF objects that can be included in a SIF_Event message. choice of:

AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
AssessmentAdministration
AssessmentRegistration
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
LEAInfo
LearningResource
LearningStandardDocument
LearningStandardItem
Lesson
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SectionInfo
SectionMarkInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
StaffAssignment
StaffMeal
StaffPersonal
StudentActivityInfo
StudentActivityParticipation
StudentContact
StudentDailyAttendance
StudentGrade
StudentLEARelationship
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentTransportInfo
TermInfo
TimeWorked
VendorInfo
W4
Table A.21-1: SIF_EventObjectType

A.22 SIF_ExampleObjectType

The SIF objects that can be included in SIF_Query/SIF_Example.
SIF_ExampleObjectType
Figure A.22-1: SIF_ExampleObjectType SIF_ExampleObjectType StudentLocator
 Element/@AttributeCharDescriptionType
 SIF_ExampleObjectType The SIF objects that can be included in SIF_Query/SIF_Examplechoice of:

StudentLocator
Table A.22-1: SIF_ExampleObjectType

A.23 SIF_ProvideObjectNamesType

The SIF object names that can be specified in a SIF_Provide message.
SIF_ProvideObjectNamesType
Figure A.23-1: SIF_ProvideObjectNamesType SIF_ProvideObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_ProvideObjectNamesType The SIF object names that can be specified in a SIF_Provide message. values:
AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
Assessment
AssessmentAdministration
AssessmentForm
AssessmentItem
AssessmentPackage
AssessmentRegistration
AssessmentSubTest
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredential
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeRecertification
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialAnnual
FinancialBudget
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodserviceMilkSales
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceStaffEnrollmentCount
FoodserviceStaffMealCounts
FoodserviceStudentEnrollmentCount
FoodserviceStudentMealCounts
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
ItemCharacteristics
LEAInfo
LearningResource
LearningResourcePackage
LearningStandardDocument
LearningStandardItem
Lesson
LibraryPatronStatus
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SEAInfo
SectionInfo
SectionMarkInfo
SIF_LogEntry
SIF_ReportObject
StaffAssignment
StaffMeal
StaffPersonal
StudentAcademicRecord
StudentActivityInfo
StudentActivityParticipation
StudentAttendanceSummary
StudentContact
StudentDailyAttendance
StudentDemographicRecord
StudentGrade
StudentLEARelationship
StudentLocator
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentRecordExchange
StudentRecordPackage
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentSnapshot
StudentSpecialEducationRecord
StudentTransportInfo
TermInfo
TestAccommodation
TimeWorked
VendorInfo
W4
Table A.23-1: SIF_ProvideObjectNamesType

A.24 SIF_RequestObjectNamesType

The SIF object names that can be specified in a SIF_Request message, or every SIF object name.
SIF_RequestObjectNamesType
Figure A.24-1: SIF_RequestObjectNamesType SIF_RequestObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_RequestObjectNamesType The SIF object names that can be specified in a SIF_Request message, or every SIF object name. values:
AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
Assessment
AssessmentAdministration
AssessmentForm
AssessmentItem
AssessmentPackage
AssessmentRegistration
AssessmentSubTest
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredential
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeRecertification
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialAnnual
FinancialBudget
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodserviceMilkSales
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceStaffEnrollmentCount
FoodserviceStaffMealCounts
FoodserviceStudentEnrollmentCount
FoodserviceStudentMealCounts
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
ItemCharacteristics
LEAInfo
LearningResource
LearningResourcePackage
LearningStandardDocument
LearningStandardItem
Lesson
LibraryPatronStatus
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SEAInfo
SectionInfo
SectionMarkInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
StaffAssignment
StaffMeal
StaffPersonal
StudentAcademicRecord
StudentActivityInfo
StudentActivityParticipation
StudentAttendanceSummary
StudentContact
StudentDailyAttendance
StudentDemographicRecord
StudentGrade
StudentLEARelationship
StudentLocator
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentRecordExchange
StudentRecordPackage
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentSnapshot
StudentSpecialEducationRecord
StudentTransportInfo
TermInfo
TestAccommodation
TimeWorked
VendorInfo
W4
Table A.24-1: SIF_RequestObjectNamesType

A.25 SIF_ResponseObjectsType

The SIF objects that can be included, repeated, in a SIF_Response message.
SIF_ResponseObjectsType
Figure A.25-1: SIF_ResponseObjectsType SIF_ResponseObjectsType
 Element/@AttributeCharDescriptionType
 SIF_ResponseObjectsType The SIF objects that can be included, repeated, in a SIF_Response message. 
<xs:choice minOccurs="0"> <xs:sequence> <xs:element ref="sif:AccountingPeriod" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Activity" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ActivityProvider" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AggregateCharacteristicInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AggregateStatisticFact" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AggregateStatisticInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Assessment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentAdministration" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentForm" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentItem" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentPackage" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentRegistration" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AssessmentSubTest" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Assignment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:AttendanceCodeInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Authentication" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Billing" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusEquipment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusPositionInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusRouteDetail" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusRouteInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:BusStopInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:CalendarDate" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:CalendarSummary" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:CurriculumStructure" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:DisciplineIncident" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeAssignment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeContract" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeCredential" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeCredit" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeePersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeePicture" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeRecertification" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmployeeWage" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:EmploymentRecord" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialAccount" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialAccountAccountingPeriodLocationInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialAnnual" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialBudget" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialClass" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialIncomeStatement" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FinancialTransaction" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FiscalYear" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceItem" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceItemPortion" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceItemSales" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceItemUnit" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceMealPrices" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceMenuPlan" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceMilkSales" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodservicePurchaseTransaction" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceReimbursementRates" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceSales" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceStaffEnrollmentCount" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceStaffMealCounts" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceStudentEnrollmentCount" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceStudentMealCounts" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceTransaction" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceTransactionDetails" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:FoodserviceTransactionPayMethod" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:GradingAssignment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:GradingAssignmentScore" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:GradingCategory" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ItemCharacteristics" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LEAInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearningResource" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearningResourcePackage" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearningStandardDocument" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LearningStandardItem" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Lesson" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LibraryPatronStatus" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:LocationInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:MarkInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:MarkValueInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:OfficialStudentPeriodAttendance" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Payment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ProfessionalDevelopmentActivities" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ProfessionalDevelopmentProgram" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ProfessionalDevelopmentRegistration" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:Purchasing" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ReportAuthorityInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:ReportManifest" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:RoomInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:RoomType" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SchoolCourseInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SchoolInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SEAInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SectionInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SectionMarkInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_AgentACL" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_LogEntry" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_ReportObject" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:SIF_ZoneStatus" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StaffAssignment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StaffMeal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StaffPersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentAcademicRecord" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentActivityInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentActivityParticipation" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentAttendanceSummary" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentContact" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentDailyAttendance" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentDemographicRecord" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentGrade" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentLEARelationship" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentLocator" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentMeal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentParticipation" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentPeriodAttendance" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentPersonal" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentPicture" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentPlacement" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentRecordExchange" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentRecordPackage" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentResponseSet" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentSchoolEnrollment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentScoreSet" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentSectionEnrollment" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentSectionMarks" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentSnapshot" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentSpecialEducationRecord" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:StudentTransportInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TermInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TestAccommodation" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:TimeWorked" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:VendorInfo" maxOccurs="unbounded" /> </xs:sequence> <xs:sequence> <xs:element ref="sif:W4" maxOccurs="unbounded" /> </xs:sequence> </xs:choice>
Table A.25-1: SIF_ResponseObjectsType

A.26 SIF_ResponseObjectType

The SIF objects that can be included in a SIF_Response message, or every SIF object.
SIF_ResponseObjectType
Figure A.26-1: SIF_ResponseObjectType SIF_ResponseObjectType AccountingPeriod Activity ActivityProvider AggregateCharacteristicInfo AggregateStatisticFact AggregateStatisticInfo Assessment AssessmentAdministration AssessmentForm AssessmentItem AssessmentPackage AssessmentRegistration AssessmentSubTest Assignment AttendanceCodeInfo Authentication Billing BusEquipment BusInfo BusPositionInfo BusRouteDetail BusRouteInfo BusStopInfo CalendarDate CalendarSummary CurriculumStructure DisciplineIncident EmployeeAssignment EmployeeContract EmployeeCredential EmployeeCredit EmployeePersonal EmployeePicture EmployeeRecertification EmployeeWage EmploymentRecord FinancialAccount FinancialAccountAccountingPeriodLocationInfo FinancialAnnual FinancialBudget FinancialClass FinancialIncomeStatement FinancialTransaction FiscalYear FoodserviceItem FoodserviceItemPortion FoodserviceItemSales FoodserviceItemUnit FoodserviceMealPrices FoodserviceMenuPlan FoodserviceMilkSales FoodservicePurchaseTransaction FoodserviceReimbursementRates FoodserviceSales FoodserviceStaffEnrollmentCount FoodserviceStaffMealCounts FoodserviceStudentEnrollmentCount FoodserviceStudentMealCounts FoodserviceTransaction FoodserviceTransactionDetails FoodserviceTransactionPayMethod GradingAssignment GradingAssignmentScore GradingCategory ItemCharacteristics LEAInfo LearningResource LearningResourcePackage LearningStandardDocument LearningStandardItem Lesson LibraryPatronStatus LocationInfo MarkInfo MarkValueInfo OfficialStudentPeriodAttendance Payment ProfessionalDevelopmentActivities ProfessionalDevelopmentProgram ProfessionalDevelopmentRegistration Purchasing ReportAuthorityInfo ReportManifest RoomInfo RoomType SchoolCourseInfo SchoolInfo SEAInfo SectionInfo SectionMarkInfo SIF_AgentACL SIF_LogEntry SIF_ReportObject SIF_ZoneStatus StaffAssignment StaffMeal StaffPersonal StudentAcademicRecord StudentActivityInfo StudentActivityParticipation StudentAttendanceSummary StudentContact StudentDailyAttendance StudentDemographicRecord StudentGrade StudentLEARelationship StudentLocator StudentMeal StudentParticipation StudentPeriodAttendance StudentPersonal StudentPicture StudentPlacement StudentRecordExchange StudentRecordPackage StudentResponseSet StudentSchoolEnrollment StudentScoreSet StudentSectionEnrollment StudentSectionMarks StudentSnapshot StudentSpecialEducationRecord StudentTransportInfo TermInfo TestAccommodation TimeWorked VendorInfo W4
 Element/@AttributeCharDescriptionType
 SIF_ResponseObjectType The SIF objects that can be included in a SIF_Response message, or every SIF object. choice of:

AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
Assessment
AssessmentAdministration
AssessmentForm
AssessmentItem
AssessmentPackage
AssessmentRegistration
AssessmentSubTest
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredential
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeRecertification
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialAnnual
FinancialBudget
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodserviceMilkSales
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceStaffEnrollmentCount
FoodserviceStaffMealCounts
FoodserviceStudentEnrollmentCount
FoodserviceStudentMealCounts
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
ItemCharacteristics
LEAInfo
LearningResource
LearningResourcePackage
LearningStandardDocument
LearningStandardItem
Lesson
LibraryPatronStatus
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SEAInfo
SectionInfo
SectionMarkInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
StaffAssignment
StaffMeal
StaffPersonal
StudentAcademicRecord
StudentActivityInfo
StudentActivityParticipation
StudentAttendanceSummary
StudentContact
StudentDailyAttendance
StudentDemographicRecord
StudentGrade
StudentLEARelationship
StudentLocator
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentRecordExchange
StudentRecordPackage
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentSnapshot
StudentSpecialEducationRecord
StudentTransportInfo
TermInfo
TestAccommodation
TimeWorked
VendorInfo
W4
Table A.26-1: SIF_ResponseObjectType

A.27 SIF_SubscribeObjectNamesType

The SIF object names that can be specified in a SIF_Subscribe message.
SIF_SubscribeObjectNamesType
Figure A.27-1: SIF_SubscribeObjectNamesType SIF_SubscribeObjectNamesType
 Element/@AttributeCharDescriptionType
 SIF_SubscribeObjectNamesType The SIF object names that can be specified in a SIF_Subscribe message. values:
AccountingPeriod
Activity
ActivityProvider
AggregateCharacteristicInfo
AggregateStatisticFact
AggregateStatisticInfo
AssessmentAdministration
AssessmentRegistration
Assignment
AttendanceCodeInfo
Authentication
Billing
BusEquipment
BusInfo
BusPositionInfo
BusRouteDetail
BusRouteInfo
BusStopInfo
CalendarDate
CalendarSummary
CurriculumStructure
DisciplineIncident
EmployeeAssignment
EmployeeContract
EmployeeCredit
EmployeePersonal
EmployeePicture
EmployeeWage
EmploymentRecord
FinancialAccount
FinancialAccountAccountingPeriodLocationInfo
FinancialClass
FinancialIncomeStatement
FinancialTransaction
FiscalYear
FoodserviceItem
FoodserviceItemPortion
FoodserviceItemSales
FoodserviceItemUnit
FoodserviceMealPrices
FoodserviceMenuPlan
FoodservicePurchaseTransaction
FoodserviceReimbursementRates
FoodserviceSales
FoodserviceTransaction
FoodserviceTransactionDetails
FoodserviceTransactionPayMethod
GradingAssignment
GradingAssignmentScore
GradingCategory
LEAInfo
LearningResource
LearningStandardDocument
LearningStandardItem
Lesson
LocationInfo
MarkInfo
MarkValueInfo
OfficialStudentPeriodAttendance
Payment
ProfessionalDevelopmentActivities
ProfessionalDevelopmentProgram
ProfessionalDevelopmentRegistration
Purchasing
ReportAuthorityInfo
ReportManifest
RoomInfo
RoomType
SchoolCourseInfo
SchoolInfo
SectionInfo
SectionMarkInfo
SIF_AgentACL
SIF_LogEntry
SIF_ReportObject
SIF_ZoneStatus
StaffAssignment
StaffMeal
StaffPersonal
StudentActivityInfo
StudentActivityParticipation
StudentContact
StudentDailyAttendance
StudentGrade
StudentLEARelationship
StudentMeal
StudentParticipation
StudentPeriodAttendance
StudentPersonal
StudentPicture
StudentPlacement
StudentResponseSet
StudentSchoolEnrollment
StudentScoreSet
StudentSectionEnrollment
StudentSectionMarks
StudentTransportInfo
TermInfo
TimeWorked
VendorInfo
W4
Table A.27-1: SIF_SubscribeObjectNamesType

A.28 URIOrBinaryType

Allows for a URL or a Base-64 encoding.
URIOrBinaryType
Figure A.28-1: URIOrBinaryType URIOrBinaryType
 Element/@AttributeCharDescriptionType
 URIOrBinaryType Allows for a URL or a Base-64 encoding. union of:

xs:anyURI
xs:base64Binary
Table A.28-1: URIOrBinaryType

A.29 VersionType

A SIF version number.
VersionType
Figure A.29-1: VersionType VersionType
 Element/@AttributeCharDescriptionType
 VersionType A SIF version number. xs:token
xs:pattern[0-9]+[.][0-9]+(r[0-9]+)?
xs:maxLength12
Table A.29-1: VersionType

A.30 VersionWithWildcardsType

A SIF version number, with wildcards for matching multiple versions.
VersionWithWildcardsType
Figure A.30-1: VersionWithWildcardsType VersionWithWildcardsType
 Element/@AttributeCharDescriptionType
 VersionWithWildcardsType A SIF version number, with wildcards for matching multiple versions. xs:token
xs:pattern\*|([0-9]+[.]\*)|([0-9]+[.][0-9]+r\*)|([0-9]+[.][0-9]+(r[0-9]+)?)
xs:maxLength12
Table A.30-1: VersionWithWildcardsType

Appendix B: Code Sets

Select shared and named code sets defined in SIF are included here for reference.

Infrastructure

Status Code

0Success (ZIS ONLY). SIF_Status/SIF_Data may contain additional data.
1Immediate SIF_Ack (AGENT ONLY). Message is persisted or processing is complete. Discard the referenced message.
2Intermediate SIF_Ack (AGENT ONLY). Only valid in response to SIF_Event delivery. Invokes Selective Message Blocking. The event referenced must still be persisted, and no other events must be delivered, until the agent sends a "Final" SIF_Ack at a later time.
3Final SIF_Ack (AGENT ONLY). Sent (a SIF_Ack with this value is never returned by an agent in response to a delivered message) by an agent to the ZIS to end Selective Message Blocking. Discard the referenced event and allow for delivery of other events.
7Already have a message with this SIF_MsgId from you.
8Receiver is sleeping.
9No messages available. This is returned when an agent is trying to pull messages from a ZIS and there are no messages available.

Error Category

The following table describes the functional areas where an error may occur in SIF. When a SIF_Error element is returned within a SIF_Ack message, the SIF_Error/SIF_Category element MUST contain one of the values from the table.

The next tables present the error codes that must be used when constructing a SIF_Error element. The value of SIF_Error/SIF_Code must come from these lists unless the functional category is System where error codes not defined in these tables can be included.

0Unknown (This should NEVER be used if possible)
1XML Validation
2Encryption
3Authentication
4Access and Permissions
5Registration
6Provision
7Subscription
8Request and Response
9Event Reporting and Processing
10Transport
11System (OS, Database, Vendor localized, etc.)
12Generic Message Handling
13SMB Handling

XML Validation Error

1Generic error
2Message is not well-formed
3Generic validation error
4Invalid value for element/attribute
6Missing mandatory element/attribute

Encryption Error

1Generic error

Authentication Error

1Generic error
2Generic authentication error (with signature)
3Missing sender's certificate
4Invalid certificate
5Sender's certificate is not trusted
6Expired certificate
7Invalid signature
8Invalid encryption algorithm (only accepts MD4)
9Missing public key of the receiver (when decrypting message)
10Missing receiver's private key (when decrypting message)

Access and Permission Error

1Generic error
2No permission to register
3No permission to provide this object
4No permission to subscribe to this SIF_Event
5No permission to request this object
6No permission to respond to this object request
7No permission to publish SIF_Event
8No permission to administer policies
9SIF_SourceId is not registered
10No permission to publish SIF_Event Add
11No permission to publish SIF_Event Change
12No permission to publish SIF_Event Delete

Registration Error

1Generic error
2The SIF_SourceId is invalid
3Requested transport protocol is unsupported
4Requested SIF_Version(s) not supported.
6Requested SIF_MaxBufferSize is too small
7ZIS requires a secure transport
9Agent is registered for push mode (returned when a push-mode agent sends a SIF_GetMessage).
10ZIS does not support the requested Accept-Encoding value.

Provision Error

1Generic error
3Invalid object
4Object already has a provider (SIF_Provide message)

Subscription Error

1Generic error
3Invalid object

Request and Response Error

1Generic error
3Invalid object
4No provider
7Responder does not support requested SIF_Version
8Responder does not support requested SIF_MaxBufferSize
9Unsupported query in request
10Invalid SIF_RequestMsgId specified in SIF_Response
11SIF_Response is larger than requested SIF_MaxBufferSize
12SIF_PacketNumber is invalid in SIF_Response
13SIF_Response does not match any SIF_Version from SIF_Request
14SIF_DestinationId does not match SIF_SourceId from SIF_Request
15No support for SIF_ExtendedQuery
16SIF_RequestMsgId deleted from cache due to timeout
17SIF_RequestMsgId deleted from cache by administrator
18SIF_Request cancelled by requesting agent

Event Reporting and Processing Error

1Generic error
3Invalid event

Transport Error

1Generic error
2Requested protocol is not supported
3Secure channel requested and no secure path exists
4Unable to establish connection

System Error

1Generic error

Generic Message Handling Error

1Generic error
2Message not supported
3Version not supported
4Context not supported
5Protocol error
6No such message (as identified by SIF_OriginalMsgId)
7Multiple contexts not supported

SMB Error

1Generic error
2SMB can only be invoked during a SIF_Event acknowledgement
3Final SIF_Ack expected from Push-Mode Agent
4Incorrect SIF_MsgId in final SIF_Ack

LearningStandardItem

Relationship Types

ContentA link to another state or school content standard
OtherAny other type of relationship between the current standard and the target standard item.
PD
StateA link to a standard from another state. The purpose of this is to express relationships between state standards.

SIF_LogEntry

Agent Error Condition

1An exception has occurred in the agent (generic error)

Data Issues with Failure Result

1Insufficient information in message
2Cannot process change due to business rule
3Related information unavailable

Data Issues with Success Result

1Data was changed to complete request successfully
2Data was added to complete request successfully

Success Category

1Success

ZIS Error Condition

1An exception has occurred in the ZIS (generic error)
2Message could not be delivered due to buffer size limitations
3Message could not be delivered due to minimum security requirements
4Message could not be delivered due to destination agent not supporting SIF_Version
5Message could not be delivered due to SIF_Response validation

StudentPlacement

Other Services

S200Specialized instruction

Other Types of Transportation

S101Homeless transportation
S102Choice transportation

Title I Services

S001Reading / language program
S002Mathematics program
S003Science program
S004Social studies program
S005Economics program
S006Computers program
S007Vocational / career program
S008Support guidance / advocacy program
S009Study skills program
S010After-school tutoring program
S011Summer school program
S0124-year-old program
S0133-year-old program
S014Extended kindergarten program (beyond half day)
S015Health / dental / eye care service
S016Extended instruction time program
S017Supplemental outside provider instructional services

TestAccommodation

Scheduling

S182Additional supervised test breaks for English Learners within testing day or following each section provided that test section is completed within a testing day
S183Frequent breaks
S184Multi-day administration
S185Multiple test sessions
S186Scheduled extended time
S187Student-requested extended time
S188Supervised test breaks
S189Terminate session when student indicates they have completed all items they can
S190Test administered at best time of day for student
S191Untimed

Setting

S192Carrel
S193Facing examiner / proctor
S194Front of room near examiner / proctor
S195Hospital / home testing
S196Individual
S197Resource room
S198Separate room
S199Separate room with other English Learners under supervision of district employee
S200Small group
S201Small group in separate room
S202Special ed classroom
S203Special furniture
S204Special lighting
S205Specialized setting

Student Equipment and Technology

S135Adjustable swivel arm
S136Adjustable table height
S137Audio cassette player / tape recorder
S138Colored lenses
S139Enlarged keyboard
S140Enlarged monitor view / screen display
S141Laptop / computer
S142Magnification device
S143Physical supports
S144Technological aid
S145Track ball
S146Video cassette player

Test Administration

S105Amplification equipment
S106Audiotape or CD
S107Braille Reader
S108Clarify directions
S109Computer administration
S110Cueing
S111Examiner familiar with / to student
S112Examiner fluent in sign language
S113Font enlarged beyond large print version requirements
S114Foreign language interpreter
S115Foreign language interpreter for instructions, ask questions
S116Format
S117Graph paper
S118Manipulatives for math items
S119Mask portion of answer booklet
S120Mask portion of test booklet
S121Paraphrasing
S122Provide reading windows
S123Provide written directions on separate sheet / transparency
S124Repeat / reword / clarify directions
S125Sign language / cued speech interpreter
S126Simplified language
S127Student reads aloud
S128Tactile cues
S129Test administrator reads test directions aloud
S130Test administrator reads test questions aloud
S131Unlisted accommodation or modification
S132Video cassette
S133Visual cues
S134Word processor

Test Material

S101Braille
S102Foreign Language
S103Large print booklet
S104Manually coded English or American sign Language to present test questions

Test Response

S147Access to translation glossaries / word lists (english-to-primary language). Shall not include definitions of formulas
S148Arithmetic table (math or science)
S149Assistive device that does interfere with independent work of the student
S150Assistive device that does not interfere with independent work of the student
S151Augmentative communication device
S152Braille writer
S153Braille writer, no thesaurus, spell-or grammar-checker
S154Brailler ruler
S155Calculator (math or science)
S156Cassette player / tape recorder
S157Computer administration
S158Cranmer abacus
S159Dictated oral response to proctor / transcriber
S160Dictionary
S161Essay responses dictated to a scribe orally, in manually coded English or in American Sign Language; and scribe provides spelling, grammar and language conventions
S162Grammar checker
S163Large face calculator
S164Larger diameter pencil
S165Mask portion of answer folder
S166Math manipulatives (math or science)
S167Modified specil grip pencil
S168Qualified foreign language interpreter for LEP student
S169Response dictated in American Sign Language / Manually coded English
S170Separate additional continuation pages for writing tasks
S171Sign responses to sign language interpreter
S172Speech recognition system
S173Spell-checker
S174Student marked in test booklet
S175Talking calculator
S176Test administrator marked / wrote test at student's direction due to student handwriting issues
S177Thesaurus
S178Translation dictionary for LEP student
S179Verbalized problem-solving
S180Word processor / typewriter / computer with thesaurus / spell-checker / grammar-checker enabled on essay responses writing portion of test
S181Word processor / typewriter / computer with thesaurus / spell-checker / grammar-checker turned off

Appendix C: External Code Sets

All code sets defined by external bodies and referenced within SIF are included here for reference. The left column in each table contains the individual code values that are used in SIF elements and attributes that reference these code sets. These sets of code values are closed and normative for a given version of this specification. Including codes not provided here in corresponding SIF elements and attributes can lead to XML validation errors in installations where the zone integration server or any agent is validating XML messages; the SIF data model allows for locally-defined codes, where deemed appropriate, in the OtherCodeList element. The right column of each table may provide a textual equivalent or description of the corresponding code, and is provided for informational purposes only. The referenced sources for these code sets serve as the authorities for all descriptions and semantics, and for the definition and maintenance of the code set values themselves. In each release of this specification the SIF Association endeavors to synchronize referenced code sets with updates from external sources.

Canada Post

Provinces and Territories [CanadaPost]

ABAlberta
BCBritish Columbia
MBManitoba
NBNew Brunswick
NLNewfoundland and Labrador
NSNova Scotia
NTNorth West Territories
NUNunavut
ONOntario
PEPrince Edward Island
QCQuebec
SKSaskatchewan
YTYukon

International Standards Organization (ISO)

3166-1 English Country Names and Code Elements [ISO3166-1]

Note that the maintenance agency for these codes is [ISO 3166/MA].

ADANDORRA
AEUNITED ARAB EMIRATES
AFAFGHANISTAN
AGANTIGUA AND BARBUDA
AIANGUILLA
ALALBANIA
AMARMENIA
ANNETHERLANDS ANTILLES
AOANGOLA
AQANTARCTICA
ARARGENTINA
ASAMERICAN SAMOA
ATAUSTRIA
AUAUSTRALIA
AWARUBA
AXÅLAND ISLANDS
AZAZERBAIJAN
BABOSNIA AND HERZEGOVINA
BBBARBADOS
BDBANGLADESH
BEBELGIUM
BFBURKINA FASO
BGBULGARIA
BHBAHRAIN
BIBURUNDI
BJBENIN
BMBERMUDA
BNBRUNEI DARUSSALAM
BOBOLIVIA
BRBRAZIL
BSBAHAMAS
BTBHUTAN
BVBOUVET ISLAND
BWBOTSWANA
BYBELARUS
BZBELIZE
CACANADA
CCCOCOS (KEELING) ISLANDS
CDCONGO, THE DEMOCRATIC REPUBLIC OF THE
CDCONGO, THE DEMOCRATIC REPUBLIC OF THE
CFCENTRAL AFRICAN REPUBLIC
CGCONGO
CHSWITZERLAND
CICÔTE D'IVOIRE
CKCOOK ISLANDS
CLCHILE
CMCAMEROON
CNCHINA
COCOLOMBIA
CRCOSTA RICA
CSSERBIA AND MONTENEGRO
CUCUBA
CVCAPE VERDE
CXCHRISTMAS ISLAND
CYCYPRUS
CZCZECH REPUBLIC
DEGERMANY
DJDJIBOUTI
DKDENMARK
DMDOMINICA
DODOMINICAN REPUBLIC
DZALGERIA
ECECUADOR
EEESTONIA
EGEGYPT
EHWESTERN SAHARA
ERERITREA
ESSPAIN
ETETHIOPIA
FIFINLAND
FJFIJI
FKFALKLAND ISLANDS (MALVINAS)
FMMICRONESIA, FEDERATED STATES OF
FOFAROE ISLANDS
FRFRANCE
GAGABON
GBUNITED KINGDOM
GDGRENADA
GEGEORGIA
GFFRENCH GUIANA
GGGUERNSEY
GHGHANA
GIGIBRALTAR
GLGREENLAND
GMGAMBIA
GNGUINEA
GPGUADELOUPE
GQEQUATORIAL GUINEA
GRGREECE
GSSOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS
GTGUATEMALA
GUGUAM
GWGUINEA-BISSAU
GYGUYANA
HKHONG KONG
HMHEARD ISLAND AND MCDONALD ISLANDS
HNHONDURAS
HRCROATIA
HTHAITI
HUHUNGARY
IDINDONESIA
IEIRELAND
ILISRAEL
IMISLE OF MAN
ININDIA
IOBRITISH INDIAN OCEAN TERRITORY
IQIRAQ
IRIRAN, ISLAMIC REPUBLIC OF
ISICELAND
ITITALY
JEJERSEY
JMJAMAICA
JOJORDAN
JPJAPAN
KEKENYA
KGKYRGYZSTAN
KHCAMBODIA
KIKIRIBATI
KMCOMOROS
KNSAINT KITTS AND NEVIS
KPKOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF
KRKOREA, REPUBLIC OF
KWKUWAIT
KYCAYMAN ISLANDS
KZKAZAKHSTAN
LALAO PEOPLE'S DEMOCRATIC REPUBLIC
LBLEBANON
LCSAINT LUCIA
LILIECHTENSTEIN
LKSRI LANKA
LRLIBERIA
LSLESOTHO
LTLITHUANIA
LULUXEMBOURG
LVLATVIA
LYLIBYAN ARAB JAMAHIRIYA
MAMOROCCO
MCMONACO
MDMOLDOVA, REPUBLIC OF
MGMADAGASCAR
MHMARSHALL ISLANDS
MKMACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF
MLMALI
MMMYANMAR
MNMONGOLIA
MOMACAO
MPNORTHERN MARIANA ISLANDS
MQMARTINIQUE
MRMAURITANIA
MSMONTSERRAT
MTMALTA
MUMAURITIUS
MVMALDIVES
MWMALAWI
MXMEXICO
MYMALAYSIA
MZMOZAMBIQUE
NANAMIBIA
NCNEW CALEDONIA
NENIGER
NFNORFOLK ISLAND
NGNIGERIA
NINICARAGUA
NLNETHERLANDS
NONORWAY
NPNEPAL
NRNAURU
NUNIUE
NZNEW ZEALAND
OMOMAN
PAPANAMA
PEPERU
PFFRENCH POLYNESIA
PGPAPUA NEW GUINEA
PHPHILIPPINES
PKPAKISTAN
PLPOLAND
PMSAINT PIERRE AND MIQUELON
PNPITCAIRN
PRPUERTO RICO
PSPALESTINIAN TERRITORY, OCCUPIED
PTPORTUGAL
PWPALAU
PYPARAGUAY
QAQATAR
RERÉUNION
ROROMANIA
RURUSSIAN FEDERATION
RWRWANDA
SASAUDI ARABIA
SBSOLOMON ISLANDS
SCSEYCHELLES
SDSUDAN
SESWEDEN
SGSINGAPORE
SHSAINT HELENA
SISLOVENIA
SJSVALBARD AND JAN MAYEN
SKSLOVAKIA
SLSIERRA LEONE
SMSAN MARINO
SNSENEGAL
SOSOMALIA
SRSURINAME
STSAO TOME AND PRINCIPE
SVEL SALVADOR
SYSYRIAN ARAB REPUBLIC
SZSWAZILAND
TCTURKS AND CAICOS ISLANDS
TDCHAD
TFFRENCH SOUTHERN TERRITORIES
TGTOGO
THTHAILAND
TJTAJIKISTAN
TKTOKELAU
TLTIMOR-LESTE
TMTURKMENISTAN
TNTUNISIA
TOTONGA
TRTURKEY
TTTRINIDAD AND TOBAGO
TVTUVALU
TWTAIWAN, PROVINCE OF CHINA
TZTANZANIA, UNITED REPUBLIC OF
UAUKRAINE
UGUGANDA
UMUNITED STATES MINOR OUTLYING ISLANDS
USUNITED STATES
UYURUGUAY
UZUZBEKISTAN
VAHOLY SEE (VATICAN CITY STATE)
VAHOLY SEE (VATICAN CITY STATE)
VCSAINT VINCENT AND THE GRENADINES
VEVENEZUELA
VGVIRGIN ISLANDS, BRITISH
VIVIRGIN ISLANDS, U.S.
VNVIET NAM
VUVANUATU
WFWALLIS AND FUTUNA
WSSAMOA
YEYEMEN
YTMAYOTTE
ZASOUTH AFRICA
ZMZAMBIA
ZWZIMBABWE

3166-3 Code for Formerly Used Names of Countries [ISO3166-3]

Note that the maintenance agency for these codes is [ISO 3166/MA].

AIDJFrench Territory of the Afars and the Issas
BQAQBritish Antarctic Territory
BUMMBurma
CSHHCzechoslovakia
CTKICanton and Enderbury Islands
DDDEEast Germany
DYBJDahomey
FQHHFrench Southern and Antarctic Territories
FXFRMetropolitan France
GEHHGilbert and Ellice Islands
HVBFUpper Volta (Haute-Volta)
JTUMJohnston Island
MIUMMidway Atoll
NHVUNew Hebrides
NQAQQueen Maud Land
NTHHNeutral Zone
PCHHTrust Territory of the Pacific Islands
PUUMU.S. Miscellaneous Pacific Islands
PZPAPanama Canal Zone
RHZWRhodesia
SKINSikkim
SUHHSoviet Union
TPTLEast Timor
VDVNDemocratic Republic of Vietnam
WKUMWake Island
YDYESouth Yemen
YUCSYugoslavia
ZRCDZaire

4217 Currency names and code elements

AEDUAE Dirham
AFNAfghani
ALLLek
AMDArmenian Dram
ANGNetherlands Antillian Guikder
AOAKwanza
ARSArgentine Peso
AUDAustralian Dollar
AWGAruban Guilder
AZNAzerbaijanian Manat
BAMConvertible Marks
BBDBarbados Dollar
BDTTaka
BGNBulgarian Lev
BHDBahraini Dinar
BIFBurundi Franc
BMDBermudian Dollar (customarily known as Bermuda Dollar)
BNDBrunei Dollar
BOBBoliviano
BOVMvdol
BRLBrazilian Real
BSDBahamian Dollar
BTNNgultrum
BWPPula
BYRBelarussian Ruble
BZDBelize Dollar
CADCanadian Dollar
CDFFranc Congolais
CHEWIR Euro
CHFSwiss Franc
CHWWIR Franc
CLFUnidades de formento
CLPChilean Peso
CNYYuan Renminbi
COPColombian Peso
COUUnidad de Valor Real
CRCCosta Rican Colon
CSDSerbian Dinar
CUPCuban Peso
CVECape Verde Escudo
CYPCyprus Pound
CZKCzech Koruna
DJFDjibouti Franc
DKKDanish Krone
DOPDominican Peso
DZDAlgerian Dinar
EEKKroon
EGPEgyptian Pound
ERNNakfa
ETBEthiopian Birr
EUREuro
FJDFiji Dollar
FKPFalkland Islands Pound
GBPPound Sterling
GELLari
GHCCedi
GIPGibraltar Pound
GMDDalasi
GNFGuinea Franc
GTQQuetzal
GWPGuinea-Bissau Peso
GYDGuyana Dollar
HKDHong Kong Dollar
HNLLempira
HRKCroatian Kuna
HTGGourde
HUFForint
IDRRupiah
ILSNew Israeli Sheqel
INRIndian Rupee
IQDIraqi Dinar
IRRIranian Rial
ISKIceland Krona
JMDJamaican Dollar
JODJordanian Dinar
JPYYen
KESKenyan Shilling
KGSSom
KHRRiel
KMFComoro Franc
KPWNorth Korean Won
KRWWon
KWDKuwaiti Dinar
KYDCayman Islands Dollar
KZTTenge
LAKKip
LBPLebanese Pound
LKRSri Lanka Rupee
LRDLiberian Dollar
LSLLoti
LTLLithuanian Litas
LVLLatvian Lats
LYDLibyan Dinar
MADMoroccan Dirham
MDLMoldovan Leu
MGAMalagascy Ariary
MKDDenar
MMKKyat
MNTTugrik
MOPPataca
MROOuguiya
MTLMaltese Lira
MURMauritius Rupee
MVRRufiyaa
MWKKwacha
MXNMexican Peso
MXVMexican Unidad de Inversion (UID)
MYRMalaysian Ringgit
MZNMetical
NADNamibian Dollar
NGNNaira
NIOCordoba Oro
NOKNorwegian Krone
NPRNepalese Rupee
NZDNew Zealand Dollar
OMRRial Omani
PABBalboa
PENNuevo Sol
PGKKina
PHPPhilippine Peso
PKRPakistan Rupee
PLNZloty
PYGGuarani
QARQatari Rial
ROLOld Leu
RONNew Leu
RUBRussian Ruble
RWFRwanda Franc
SARSaudi Riyal
SBDSolomon Islands Dollar
SCRSeychelles Rupee
SDDSudanese Dinar
SEKSwedish Krona
SGDSingapore Dollar
SHPSaint Helena Pound
SITTolar
SKKSlovak Koruna
SLLLeone
SOSSomali Shilling
SRDSurinam Dollar
STDDobra
SVCEl Salvador Colon
SYPSyrian Pound
SZLLilangeni
THBBaht
TJSSomoni
TMMManat
TNDTunisian Dinar
TOPPa'anga
TRYNew Turkish Lira
TTDTrinidad and Tobago Dollar
TWDNew Taiwan Dollar
TZSTanzanian Shilling
UAHHryvnia
UGXUganda Shilling
USDUS Dollar
USNUS Dollar (Next day)
USSUS Dollar (Same day)
UYUPeso Uruguayo
UZSUzbekistan Sum
VEBBolivar
VNDDong
VUVVatu
WSTTala
XAFCFA Franc BEAC
XAGSilver
XAUGold
XBABond Markets Units European Composite Unit (EURCO)
XBBEuropean Monetary Unit (E.M.U.-6)
XBCEuropean Unit of Account 9 (E.U.A.-9)
XBDEuropean Unit of Account 17 (E.U.A.-17)
XCDEast Caribbean Dollar
XDRSDR
XFOGold-Franc
XFUUIC-Franc
XOFCFA Franc BCEAO
XPDPalladium
XPFCFP Franc
XPTPlatinum
XTSCode specifically reserved for testing purposes
XXXCode assigned for transactions where no currency is involved
YERYemeni Rial
ZARRand
ZMKKwacha
ZWNZimbabwe Dollar

National Center For Education Statistics (NCES)—NCES Handbooks Online [NCES]

0024 Activity Type

0750Co-curricular activity
0751Extra-curricular Activity

0025 Address Type

0123Mailing address
0124Shipping address
0765Physical location address
1073Other home address
1074Employer's address
1075Employment address
2382Other organization address

0031 School Level

0013Adult
0787Infant/toddler
0789Pre-kindergarten
1302All levels
1304Elementary
1981Preschool/early childhood
2397Primary
2399Intermediate
2400Middle
2402High school
2403Secondary
2602Junior high school

0032 Agency Status

0106Agency open
0107Agency closed
0108New agency
0109Changed boundary
0110Inactive agency
0111Future aAgency

0056 Assessment Reporting Method

0144Letter grade/mark
0490Age score
0491C-scaled scores
0492College Board examination scores
0493Grade equivalent or grade-level indicator
0494ACT score
0497Normal curve equivalent
0498Normalized standard score
0499Number score
0500Pass-fail
0502Percentile rank
0503Proficiency level
0504Ranking
0505Ratio IQ's
0506Standard age score
0508Stanine score
0509Sten score
0510T-score
0511Z-score
0512Achievement/proficiency level
0513Mastery level
3473Graduation score
3474Growth/value-added/indexing
3475International Baccalaureate score
3476Percentile
3478Raw score
3479Scale score
3480Workplace readiness score
9999Other

0067 Assessment Type

0075Achievement test
0076Advanced placement test
0077Alternate assessment/grade-level standards
0079Attitudinal test
0081Cognitive and perceptual skills test
0082Developmental observation
0083Interest inventory
0084Language proficiency test
0087Manual dexterity test
0088Mental ability (intelligence) test
0089Performance assessment
0090Personality test
0092Portfolio assessment
0093Psychological test
0094Psychomotor test
0095Reading readiness test
3461Alternatve assessment/modified standards
3462Alternate assessment/ELL
3463Aptitude test
9999Other

0084 Calendar Event

0845Teacher only day
0846Holiday
0848Student late arrival/early dismissal
0849Emergency day
3421Strike
9999Other

0106 Course Instructional Level

0568Remedial
0569Special education course
0570Basic
0571General
0572Honors level
0573Gifted and talented level
0574International Baccalaureate program
0575Advanced placement
0576College level
0577Untracked
0578English Language Learner (ELL)
0579Accepted as a high school equivalent
9999Other

0108 Credit Type Earned

0585Carnegie unit
0586Semester hour credit
0587Trimester hour credit
0588Quarter hour credit
0589Quinmester hour credit
0590Mini-term hour credit
0591Summer term hour credit
0592Intersession hour credit
0595Long session hour credit
0596Twelve month hour credit
0597Vocational credit
0598Adult education credit
0599Credit by examination
0600Correspondence credit
0601Converted occupational experience credit
9998None
9999Other

0147 Identification System

0004Social Security Administration number
0113US government Visa number
0154Personal identification number
0164Family unit number
0175College Board/ACT code set of PK-grade 12 institutions
0186LEA number for school
0197SEA number for school
0208NCES number for school
0216NCES number for LEA
0222Other agency number
0233Integrated Postsecondary Education Data System (IPEDS) number
0243College Board Admission Testing Program (ATP) number
0254American College Testing (ACT) Program number
0264Federal identification number
0276Dun and Bradstreet number (i.e., DUNS number)
0307Test contractor assigned assessment number
0328Driver's license number
0338Medicaid number
0339Health record number
0399Professional certificate or license number
0495School-assigned number
0593District-assigned number
0686State-assigned number
0763SEA number for LEA
0764Other federally assigned number
0780Selective Service number
0873Statute number
0879Migrant number
0936Sub-test number
5013Canadian Social Insurance Number
9999Other

0171 Receiving Location of Instruction/Service

0340In school
0341Other K-12 educational institution
0342Postsecondary facility
0752Community facility
0754Hospital
0997Business
2192Home
3018Library/media center
3506Mobile
9999Other

0209 Medium of Instruction

0603Technology-based instruction in classroom
0604Correspondence instruction
0605Face-to-face instruction
0608Virtual/On-line Distance learning
0609Center-based instruction
0610Independent study
0611Internship
9999Other

0211 Program Availability

0231During school
0234Weekend
0235Before school
0236After school
0237Summer
0238In-school service day
0239Evenings
9999Other

0222 Program Funding Source

0218Religious organization
0219Fraternal organization
0617State government
0622Local/community government
0654College/University
0675School
0698Community
0709Self in tuition and/or fees
0720Parent/guardian in tuition and/or fees
0731Parent/teacher organizations
0739Individuals (endowments)
0749Foundations and other charitable organizations
0772Unions
0786Insurance
0797Federal government
0997Business
1899Parent/guardian's employer
9999Other

0229 Program Type

0100Regular education
0200Special Education Services
0201Early identification
0202Early intervention
0203Service for individuals with autism
0204Service for individuals with deaf-blindness
0205Service for individuals with mental retardation
0206Service for individuals with hearing impairment
0207Service for individuals with visual impairment
0208Service for individuals with orthopedic impairment
0209Service for individuals with speech or language impairment
0210Service for individuals with serious emotional disturbance
0211Service for individuals with specific learning disabilities
0212Service for individuals with multiple disabilities
0213Service for individuals with traumatic brain injury
0214Psychological service
0215Cross categorical
0216Service for individuals with developmental delay
0299Other special education services
0300Vocational education
0301Agriculture
0302Consumer and home-making
0303Marketing
0304Health
0305Technology/industrial arts
0306Occupational home economics
0307Business
0308Technical
0309Trade and industrial
0399Other vocational education
0400Technical preparatory
0500Head Start
0600Even Start
0700Migrant education
0800Indian education
0900Compensatory services for disadvantaged students
1000Bilingual education program
1001Curriculum content in native language
1002Developmental bilingual education
1003Native language support
1004Two-way bilingual education
1100English as a second language (ESL) program
1101Content ESL
1200Gifted and talented
1300Cocurricular programs
1400Athletics
1500Adult/continuing education
1501Adult basic education
1502Adult English as a second language
1503Advanced adult basic education
1504Life enrichment
1505Occupational
1506Retraining for new occupation
1507Special interest
1508Upgrading in current occupation
1509General Educational Development (GED) preparation
1599Other adult/continuing education
1600Community/junior college education program
1700Community services program
1701Civic services
1702Community recreation
1703Coordination of casework
1704Custody and child care services
1705Public library services
1706Welfare activities
1799Other community services
1800Substance abuse education/prevention
1900Student retention/Dropout prevention
2000Extended day/child care services
2100Counseling services
2200Immigrant education
2300College preparatory
2400International Baccalaureate
2500Magnet/Special Program Emphasis
2600Alternative education
2700Library/media services
2800Health services
2900Remedial education
3000School-To-Work Opportunities
3100Service learning
3200Section 504 Placement
3300Teacher professional development/Mentoring
9999Other

0256 School Status

0104New school
0105Future school
0118Changed agency
0820School open
0821School closed
0822School inactive
2383Added school

0266 Session Type

0827Full school year
0828Semester
0829Trimester
0830Quarter
0831Quinmester
0832Mini-term
0833Summer term
0834Intersession
0835Long session
0837Twelve month
9999Other

0273 Student Support Service Type

0290Adaptive physical education
0291Art therapy
0292Assistive technology services
0293Audiological services
0294Service coordination (case management services)
0295Children's protective services
0297Early intervention services
0298Educational therapy
0299Family counseling
0300Free school meals programs
0302Guidance counseling
0303Health care
0304Interpretation for the hearing impaired
0305Mental health counseling
0306Music therapy
0308Note-taking assistance
0309Occupational therapy
0310Orientation and mobility services
0311Parenting skills assistance
0312Peer services
0313Physical therapy
0314Reader service
0315Recreation service
0316Reduced price school meals programs
0318Rehabilitation counseling services
0319School clothing
0320School health nursing services
0321Special transportation
0322Speech-language therapy
0323Study skills assistance
0324Substance abuse education/prevention
0325Teen/adolescent family planning
0326Test assistance
0327Translating/interpreting
0329Tutoring services
0330Vision services
0331Psychological services
0332Medical services only for diagnostic or evaluation purposes
0333Family training, counseling, and home visits
0334Developmental childcare program
0335Nursing service
0336Nutrition services
0337Social work services
9999Other

0274 Student/Family Program Type

0240Regular prekindergarten program
0241Infant and toddlers program
0242Special education services for Birth-Age 2
0244Special education services for preschoolers
0245Migrant early childhood program
0246Head Start
0247Day care
0248After school child care
0249Alternative education program
0250Before school child care
0251Bilingual education
0252Community service projects
0253Compensatory education
0255Counseling
0256English as a second language
0257Free and reduced price school meals programs
0260Hearing or vision screening
0261Higher order thinking skills
0262Medical services
0263Programs for migrants during the school year
0265Programs for migrants during the summer
0267Reading/literacy
0268School supplies
0269Services for out-of-school youth
0270Special education program
0271Special (one-time) events
0272Student assistance programs such as counseling, mentoring, identification and referral
0273Summer child care
0277Transportation
0278Tutoring/remedial instruction
0279Academic/instructional program in regular education
0280Adult basic education/remedial instruction
0281Child care so that parents can attend school meetings
0282Continuing professional education
0283Health or social services
0284Literacy
0285Occupational education
0286Orientation to school setting for new families
0287Parent training/involvement
0288Parenting education
0289Recreational/advocational program
0342Technology
0875After school enrichment
0876Before school enrichment
2381Gifted and talented
2389Even Start
2393Magnet program
9999Other

0280 Telephone Number Type

0096Main telephone number
0350Alternate telephone number
0359Answering service
0370Beeper number
0400Appointment telephone number
0426Telex number
0437Telemail
0448Voice mail
0478Instant messaging number
0486Media conferencing number
2364Facsimile number

0289 Transitional Support Service Type

0878Case management services
0881Communication services
0882Community recreational services
0883Independent living
0884Mental health services
0885Residential services
0886Supported employment services
0887Technological aids
0888Transportation services
0889Vocational rehabilitation training and job placement
9999Other

0307 Service Setting

0127Early intervention classroom/center
0128Homebound placement instruction
0129Hospital placement instruction
0130Regular school campus/regular class placement
0132Private residential placement
0134Public residential placement
0135Public separate day school placement
0136Resource room placement (pullout program)
0137Separate class placement
0140Itinerant services outside the home
0143Reverse mainstream setting
0356Outpatient service facility
0358Private separate day school placement
0364Short-term detention facility
0365Regular nursery school/child care center
0367Respite care
0756Residential facility

0315 Birthdate Verification

1003Baptismal or church certificate
1004Birth certificate
1005Entry in family Bible
1006Hospital certificate
1007Parent's affidavit
1008Passport
1009Physician's certificate
1010Previously verified school records
1011State-issued ID
1012Driver's license
1013Immigration document/visa
2382Life insurance policy
3423Other official document
3424Other non-official document
9999Other

0322 Citizenship Status

1014Dual national
1015Non-resident alien
1016Resident alien
1017United States Citizen
9999Other

0327 Language Type

1035Correspondence language
1036Dominant language
1037Home language
1038Native language
1039Other language proficiency
9999Other

0330 Marital Status

1040Legally separated
1041Married
1042Not married

0332 Highest Level of Education Completed

0788Preschool/Prekindergarten
0790First grade
0791Second grade
0792Third grade
0793Fourth grade
0794Fifth grade
0795Sixth grade
0796Seventh grade
0798Eighth grade
0799Ninth grade
0800Tenth grade
0801Eleventh Grade
0805Kindergarten
0819Vocational certificate
1043No school completed
1044High school diploma
1046Adult basic education diploma
1047Formal award, certificate or diploma (less than one year)
1048Formal award, certificate or diploma (more than or equal to one year)
1049Some college but no degree
1050Associate's degree (two years or more)
1051Bachelor's (Baccalaureate) degree
1052Graduate certificate
1053First-professional degree
1054Master's degree (e.g., M.A., M.S., M. Eng., M.Ed., M.S.W., M.B.A., M.L.S.)
1055Specialist's degree (e.g., Ed.S.)
1056Post-professional degree
1057Doctoral (Doctor's) degree
180912th grade, no diploma
2408High school completers (e.g., certificate of attendance)
2409High school equivalency (e.g., GED)
9999Other

0373 Postsecondary Subject Matter Area

0551Home economics
0558Multi/Interdisciplinary studies
1146Agricultural business and production
1147Agricultural sciences
1148Conservation and renewable natural resources
1149Architecture and related programs
1150Area, ethnic and cultural studies
1151Marketing operations/marketing and distributing
1152Communications
1153Communications technologies
1154Computer and information sciences
1155Personal and miscellaneous services
1156Education
1157Engineering
1158Engineering-related technologies
1159Vocational home economics
1160Technology education/industrial arts
1161Law and legal studies
1162English language and literature/letters
1163Liberal arts and sciences, general studies and humanities
1164Library science
1165Biological sciences/life sciences
1166Mathematics
1167Reserve Officers' Training Corp (ROTC)
1168Military technologies
1170Basic skills
1171Citizenship activities
1172Health-related knowledge and skills
1173Interpersonal and social skills
1174Leisure and recreational activities
1175Personal awareness and self-improvement
1176Parks, recreation, leisure and fitness studies
1177Philosophy and religion
1178Theological studies and religious vocations
1179Physical sciences
1180Science technologies
1181Psychology
1182Protective services
1183Public administration and services
1184Social sciences and history
1185Construction trades
1186Mechanics and repairers
1187Precision production trades
1188Transportation and materials moving workers
1189Visual and performing arts
1190Health professions and related sciences
1191Business management and administrative services
2371Foreign language and literature
9999Other

0394 Teaching Credential Type

1222Regular/standard
1223Probationary/initial
1224Provisional
1225Professional
1226Master
1227Specialist
1228Temporary
1229Emergency
1230Nonrenewable
1231Retired
1232Substitute
1233Teacher assistant
1234Intern
9999Other

0395 Teaching Credential Basis

12354-year bachelor's degree
12365-year bachelor's degree
1237Master's degree
1238Doctoral degree
1239Met state testing requirement
1240Special/alternative program completion
1241Relevant experience
1242Credentials based on reciprocation with another state

0401 Background Check Type

1420Criminal records
1421Previous employment records
1422Personal references
1423Credentials
9999Other

0421 Teaching Field or Area Authorized

0251Bilingual education
0256English as a Second Language
0547Geography
0550History
0556Physical education
0557Military science
0560Reading
0563Social studies
0684Dance
0805Kindergarten
1153Communications technologies
1166Mathematics
1181Psychology
1296Early childhood
1304Elementary
1305Accounting
1306Business and management
1307Other business
1308English or language arts
1309Journalism/communications
1310Speech
1311Architecture or environmental design
1312Drama/Teacher
1313Music
1314Visual Arts
1315Chinese
1316French
1317German
1318Italian
1319Japanese
1320Latin
1321Russian
1322Spanish
1323Other languages
1324Computer Science
1325Biology or life science
1326Chemistry
1327Earth/space science/geology
1328General science
1329Health education
1330Physical science
1331Physics
1332Other natural sciences
1333American Indian/Native American studies
1334Anthropology
1335Civics
1336Economics
1337Humanities
1338Law
1339Philosophy
1340Political science and government
1342Religion
1343Sociology
1344Other area or ethnic studies
1345Other social studies/social sciences
1346Basic skills or remedial education
1348Autism
1349Deaf and hard-of-hearing
1350Developmentally delayed
1351Early childhood special education
1352Emotionally disturbed or behavior disorders
1353Learning disabilities
1354Mentally disabled
1355Mildly/moderately disabled
1356Orthopedically impaired
1358Speech/language impaired
1359Traumatically brain-injured
1360Visually impaired
1361Other special education
1362Agriculture or natural resources
1363Business/office
1364Career education
1366Cosmetology
1367Family and consumer science (home economics)
1368Food services
1369Health professions and occupations
1370Trades and industry (e.g., CADD, electronics repair, mechanics, precision production)
1371Other vocational/technical education
2043Special education
2381Gifted and talented
9999Other

0434 Employment Separation Reason

1387Employment in education
1388Employment outside of education
1389Retirement
1390Family/personal relocation
1391Change of assignment
1392Formal study or research
1393Illness/disability
1394Homemaking/caring for a family member
1395Layoff due to budgetary reduction
1396Layoff due to organizational restructuring
1397Layoff due to decreased workload
1398Discharge due to unsuitability
1399Discharge due to misconduct
1400Discharge due to continued absence or tardiness
1401Discharge due to a falsified application form
1402Discharge due to credential revoked or suspended
1403Discharge due to unsatisfactory work performance
1404Death
1405Personal reason
1406Lay off due to lack of funding
1407Lost credential
9997Unknown
9999Other

0436 Teaching Assignment

0251Bilingual education
0256English as a Second Language
0547Geography
0550History
0557Military science
0559Physical education
0560Reading
0563Social studies
0684Dance
0805Kindergarten
1153Communications/technologies
1166Mathematics
1181Psychology
1296Early childhood
1304Elementary
1305Accounting
1306Business and management
1307Other business
1308English or language arts
1309Journalism/communications
1310Speech
1311Architecture or environmental design
1312Drama/Theater
1313Music
1314Visual Arts
1315Chinese
1316French
1317German
1318Italian
1319Japanese
1320Latin
1321Russian
1322Spanish
1323Other languages
1324Computer Science
1325Biology or life science
1326Chemistry
1327Earth/space science/geology
1328General science
1329Health education
1330Physical science
1331Physics
1332Other natural sciences
1333American Indian/Native American studies
1334Anthropology
1335Civics
1336Economics
1337Humanities
1338Law
1339Philosophy
1340Political science and government
1342Religion
1343Sociology
1344Other area or ethnic studies
1345Other social studies/social sciences
1346Basic skills or remedial education
1348Autism
1349Deaf and hard-of-hearing
1350Developmentally delayed
1351Early childhood special education
1352Emotionally disturbed or behavior disorders
1353Learning disabilities
1354Mentally disabled
1355Mildly/moderately disabled
1356Orthopedically impaired
1358Speech/language impaired
1359Traumatically brain-injured
1360Visually impaired
1361Other special education
1362Agriculture or natural resources
1363Business/office
1364Career education
1366Cosmetology
1367Family and consumer science (home economics)
1368Food services
1369Health professions and occupations
1370Trades and industry (e.g., CADD, electronics repair, mechanics, precision production)
1371Other vocational/technical education
2043Special education
2381Gifted and talented
9999Other

0437 Instructional Level

0568Remedial
0569Special education course
0570Basic
0571General
0572Honors level
0573Gifted and talented level
0574International Baccalaureate program
0575Advanced placement
0576College level
0577Untracked
0578English Language Learner (ELL)
0579Accepted as a high school equivalent
9999Other

0468 Contractual Term

0410Annual year
1439Short-term
1440Continuing
1441Renewable
1442Multiyear
9999Other

0476 Full-time Status

0843Full-time
0844Part-time

0557 Job Classification

0100Official-administrative
0101Administrative/supervisory/ancillary services officer
0102Board of education/school board/board of trustees member
0103Commandant of cadets
0104Dean/dean of instructions/dean of students/dean of boys/dean of girls/dean of student activities
0105Deputy/associate/vice-/assistant principal
0106Deputy/associate/assistant superintendent/commissioner
0107Executive assistant-Performs professional activities assisting an executive officer in directing and managing the functions of a school or system.
0108Instructional program director/coordinator/consultant
0109Manager
0110Non-instructional program director/coordinator/consultant
0111Ombudsperson
0112Principal/headmaster/headmistress/head of school
0113School president
0114School site council member
0115Superintendent/commissioner
0200Professional-educational
0201Athletic coach
0202Behavioral management specialist
0203Counselor
0204Curriculum specialist
0205Education diagnostician
0206Librarian/media consultant
0207Remedial specialist
0208Student activity advisor/non-athletic coach
0209Student teacher
0210Teacher
0211Teacher trainer
0212Teaching intern
0213Resource teacher
0300Professional-other
0301Accountant
0302Accreditation officer
0303Administrative intern
0304Admissions officer
0305Analyst
0306Architect
0307Athletic trainer
0308Attendance officer
0309Audiologist
0310Auditor
0311Benefits specialist
0312Campus minister/chaplain (clergy or layperson)
0313Caseworker
0314Computer programmer
0315Computer systems analyst
0316Curator and archivist
0317Dental hygienist
0318Dentist
0319Dietitian/nutritionist
0320Engineer
0321Evaluator
0322Family/community support coordinator
0323Financial aid officer
0324Functional application support specialist
0325Grant developer
0326Historian
0327Internal auditor
0328Interpreter
0329Lawyer
0330Legislative liaison
0331Negotiator
0332Network administrator
0333Nurse Practitioner
0334Occupational therapist
0335Ophthalmologist
0336Optometrist
0337Personnel officer/specialist
0338Physical therapist
0339Physician
0340Physician assistant
0341Planning specialist
0342Psychiatrist
0343Psychologist
0344Public relations/informational services officer
0345Recreational therapist
0346Recreation worker
0347Registered nurse
0348Registrar
0349Rehabilitation counselor
0350Research and development specialist
0351Respiratory therapist
0352Social worker
0353Speech pathologist/therapist
0354Staff developer/teacher trainer
0355Statistician
0356Student personnel officer
0357Tax assessor/collector
0358Transition coordinator
0359Translator
0360Volunteer coordinator
0361Work study coordinator
0362Writer/editor
0363Mediator/intervention specialist
0400Paraprofessionals
0401Assistant counselor
0402Bilingual aide
0403Bilingual special education aide
0404Career aide
0405Child care giver
0406Computer aide
0407Extra-curricular activity aide
0408Financial aid specialist
0409Monitor/prefect
0410Library aide
0411Media center aide
0412Psychologist assistant
0413Teaching/classroom aide
0414Teaching assistant
0415Tutor
0500Technical
0501Audiometrist
0502Computer technician
0503Drafter
0504Engineering aide
0505Graphic artist
0506Inspector
0507Licensed practical nurse
0508Media technologist
0509Photographer
0510Psychometrist
0511Purchasing agent
0512Speech language technician
0513Supervisor
0600Office/clerical/administrative support
0601Bookkeeping/accounting/auditing clerk
0602Cashier
0603Computer operator
0604Data entry clerk
0605Dispatcher
0606Duplicating/photocopying assistant
0607Electrical and electronic repairers
0608File clerk
0609General office clerk
0610Mail clerk
0611Messenger
0612Office manager
0613Receptionist
0614Records clerk
0615Secretary
0616Stenographer
0617Stores/supplies handler
0618Switchboard/PBX operator
0619Typist and wordprocessor
0700Crafts and trades
0701Brick mason
0702Carpenter
0703Cement mason
0704Electrician
0705HVAC mechanic
0706Locksmith
0707Maintenance repairers/general utility
0708Painter and paperhanger
0709Plasterer
0710Plumber
0711Printer
0712Vehicle mechanic
0800Operative
0801Bus driver
0802Other vehicle operator
0900Laborer
0901Construction laborer
0902Freight, stock, and materials handlers
0903Garbage collector
0904Gardener
0905Groundskeeper
0906Garage/parking-lot attendant
0907Vehicle washer/equipment cleaner
1000Service work
1001Bus monitor/crossing guard
1002Child care worker
1003Cook/food preparer
1004Custodian
1005Dietary technician
1006Elevator operator
1007Facilities maintenance worker
1008Food service assistant
1009Police officer
1010Resident/dormitory supervisor
1011Security guard
1012Extended day-care provider
9999Other

0568 Function Type

1000Instruction
2000Support Services
2100Support Services
2110Attendance and Social Work Services
2120Guidance Services
2130Health Services
2140Psychological Services
2150Speech Pathology and Audiology Services
2160Occupational Therapy-Related Services
2190Other Support Services-Student
2200Support Services-Instruction
2210Improvement of Instruction
2212Instruction and Curriculum Development
2213Instructional Staff Training
2219Other Improvement of Instruction Services
2220Library/Media Services
2230Instruction-Related Technology
2240Academic Student Assessment
2290Other Support Services
2300Support Services-General Administration
2310Board of Education
2320Executive Administration
2400Support Services-School Administration
2410Office of the Principal
2490Other Support Services-School Administration
2500Central Services
2510Fiscal Services
2520Purchasing, Warehousing, and Distributing Services
2530Printing, Publishing, and Duplicating Services
2540Planning, Research, Development, and Evaluation Services
2560Public Information Services
2570Personnel Services
2580Administrative Technology Services
2590Other Support Services-Central Services
2600Operation and Maintenance of Plant
2610Operation of Buildings
2620Maintenance of Buildings
2630Care and Upkeep of Grounds
2640Care and Upkeep of Equipment
2650Vehicle Operation and Maintenance (Other Than Student Transportation Vehicles)
2660Security
2670 Safety
2680Other Operation and Maintenance of Plant
2700Student Transportation
2710Vehicle Operation
2720Monitoring services
2730Vehicle Servicing and Maintenance
2790Other Student Transportation Services
2900Other Support Services
3000Operation of Non-Instructional Services
3100Food Services Operations
3200Enterprise Operations
3300Community Services Operation
4000Facilities Acquisition and Construction
4100Land Acquisition
4200Land Improvement
4300Architecture and Engineering
4400 Educational Specifications Development
4500Building Acquisition and Construction
4600Site Improvement
4700Building Improvements
4900Other Facilities Acquisition and Construction
9999Other

0585 English Proficiency

1633Native English speaker
1634Fluent English speaker
1635Non-English speaking
1636Redesignated as fluent English proficient
2349Limited English proficient/English language learner
9997Unknown

0598 Public School Residence Status

1652Resident of administrative unit and usual school attendance area
1653Resident of administrative unit, but of other school attendance area
1654Resident of this state, but not of this administrative unit
1655Resident of an administrative unit that crosses state boundaries
1656Resident of another state

0599 Non-Resident Attendance Rationale

1657Attending an area alternative school
1658Attending an area magnet program
1659Attending an area special education school
1660Attending an area vocational/technical school
1661Attending a private school
1662Court-mandated juvenile system assignment
1663Home schooling
1664Local education agency (LEA) assignment
1665Migrant education program participation
1666Open school enrollment
1667Voucher
1668Charter school

0600 Dwelling Arrangement

1669Boarding house
1670Cooperative house
1671Crisis shelter
1672Disaster shelter
1673Residential school/dormitory
1674Family residence
1675Foster home
1676Institution
1677Prison or juvenile detention center
1678Rooming house
1679Transient shelter
1680No home
1681Other dormitory
3425Group home/halfway house
9999Other

0609 Relationship to Student

1552Employer
1720Aunt
1721Brother, half
1722Brother, natural/adoptive
1723Brother, step
1724Cousin
1725Daughter
1726Father, foster
1727Father, natural/adoptive
1728Father, step
1729Friend
1730Grandfather
1731Grandmother
1732Husband
1734Mother, foster
1735Mother, natural/adoptive
1736Mother, step
1737Nephew
1738Niece
1739Significant other
1740Sister, half
1741Sister, natural/adoptive
1742Sister, step
1743Son
1744Uncle
1745Ward
1746Wife
1747Adopted son
1749Adoptive parents
1750Advisor
1751Agency representative
1752Brother-in-law
1753Court appointed guardian
1754Daughter-in-law
1755Dependent
1757Former husband
1758Former wife
1759Family member
1760Father's significant other
1761Father-in-law
1762Fiancé
1763Fiancée
1764Foster daughter
1765Foster parent
1766Foster son
1767Granddaughter
1769Grandson
1770Great aunt
1771Great uncle
1772Life partner
1773Life partner of parent
1774Minister or priest
1775Mother's significant other
1776Mother-in-law
1777Partner
1778Partner of parent
1779Probation officer
1780Sister-in-law
1781Son-in-law
1782Stepson
4987Stepdaughter
5006Adopted Daughter
9998None
9999Other

0613 Employment Status

1378Probationary
1379Contractual
1380Substitute/temporary
1381Tenured or permanent
1382Volunteer
1383Employed or affiliated with outside organization
1384Contingent upon funding
1385Non-contractual
9999Other

0614 Employer Type

1803Government
1804Military
1805Private organization
1806Self-employed
1807Military/Department of Defense
1808Agricultural/fishery seasonal employer
9999Other

0619 Entry Type

1821Transfer from a public school in the same local education agency
1822Transfer from a public school in a different local education agency in the same state
1823Transfer from a public school in a different state
1824Transfer from a private, non-religiously-affiliated school in the same local education agency
1825Transfer from a private, non-religiously-affiliated school in a different local education agency in the same state
1826Transfer from a private, non-religiously-affiliated school in a different state
1827Transfer from a private, religiously-affiliated school in the same local education agency
1828Transfer from a private, religiously-affiliated school in a different local education agency in the same state
1829Transfer from a private, religiously-affiliated school in a different state
1830Transfer from a school outside of the country
1831Transfer from an institution
1832Transfer from a charter school
1833Transfer from home schooling
1835Re-entry from the same school with no interruption of schooling
1836Re-entry after a voluntary withdrawal
1837Re-entry after an involuntary withdrawal
1838Original entry into a United States school
1839Original entry into a United States school from a foreign country with no interruption in schooling
1840Original entry into a United States school from a foreign country with an interruption in schooling
9999Other

0643 Exit/Withdrawal Status

1905Permanent exit/withdrawal
1906Temporary exit/withdrawal

0644 Exit/Withdrawal Type

1907Student is in a different public school in the same local education agency
1908Transferred to a public school in a different local education agency in the same state
1909Transferred to a public school in a different state
1910Transferred to a private, non-religiously-affiliated school in the same local education agency
1911Transferred to a private, non-religiously-affiliated school in a different local education agency in the same state
1912Transferred to a private, non-religiously-affiliated school in a different state
1913Transferred to a private, religiously-affiliated school in the same local education agency
1914Transferred to a private, religiously-affiliated school in a different local education agency in the same state
1915Transferred to a private, religiously-affiliated school in a different state
1916Transferred to a school outside of the country
1917Transferred to an institution
1918Transferred to home schooling
1919Transferred to a charter school
1921Graduated with regular, advanced, International Baccalaureate, or other type of diploma
1922Completed school with other credentials
1923Died or is permanently incapacitated
1924Withdrawn due to illness
1925Expelled or involuntarily withdrawn
1926Reached maximum age for services
1927Discontinued schooling
1928Completed grade 12, but did not meet all graduation requirements
1930Enrolled in a postsecondary early admission program, eligible to return
1931Not enrolled, unknown status
3499Student is in the same local education agency and receiving education services, but is not assigned to a particular school
3500Enrolled in an adult education or training program
3501Completed a state-recognized vocational education program
3502Not enrolled, eligible to return
3503Enrolled in a foreign exchange program, eligible to return
3504Withdrawn from school, under the age for compulsory attendance; eligible to return
3505Exited
3508Student is in a charter school managed by the same local education agency
3509Completed with a state-recognized equivalency certificate
9999Other

0672 Promotion Type

1973Regular promotion
1974Accelerated promotion
1975Continuous promotion
1976Probationary promotion
1977Social promotion
1978Variable progress
9999Other

0673 Nonpromotion Reason

1979Failed to meet testing requirements
1980Illness
1981Immaturity
1982Inadequate performance
1983Insufficient credits
1984Prolonged absence
9999Other

0674 Honors Type

0737Athletic awards
0738Awarding of units of value
0740Citizenship award/recognition
0741Completion of requirement, but no units of value awarded
0742Certificate
0744Letter of student commendation
0745Medals
0746Monogram/letter
0747Points
0748Promotion or advancement
1985Honor roll
1986Honor society
1987Honorable mention
1988Honors program
1989Prize awards
1990Ranks
1991Scholarships
2047Honor award
9999Other

0679 Activity Involvement Code

0628Archery
0629Badminton
0630Baseball
0631Basketball
0633Bowling
0634Boxing
0635Crew
0636Cross country
0637Diving
0638Field hockey
0639Fencing
0640Football
0641Golf
0642Gymnastics
0644Ice hockey
0645Lacrosse
0646Martial arts
0647Polo
0648Racquetball
0649Rugby
0650Sailing
0651Skiing
0652Soccer
0653Softball
0655Squash
0656Swimming
0657Synchronized swimming
0658Team handball
0659Tennis
0660Track and field
0661Volleyball
0662Water polo
0663Wrestling
0664Rodeo
0665Scuba diving
0666Team manager
0667Cheerleading
0668Other sport
0669Student body president
0670Class president
0671Class officer
0672Other student leadership and government
0673Music - vocal
0674Music - instrumental
0676Music - theory and composition
0677Band
0678Orchestra
0679Jazz ensemble
0680Chorus
0681Other music
0682Theater/drama
0683Art and graphic design
0684Dance
0685Dance team
0688Drill team
0689Other performing arts
0690Journalism
0691Broadcasting
0692Year book
0693Literary magazine
0694Family consumer science
0695Speech/debate
0696Drama club
0697Language club
0699Science club
0700Art club
0701Computer club
0702Future Business Leaders of America - Phi Beta Lambda (FBLA - PBL)
0703Future Teachers of America
0704National Future Farmers of America (FFA)
0705Family, Career and Community Leaders of America
0706Health Occupations Students of America
0707Distributive Education Clubs of America (DECA)
0708Technology Student Association (TSA)
0712Vocational Industrial Clubs of America
0713Business Professionals of America
0714Peer counseling
0715Tutoring
0716Students Against Drunk Driving (SADD)
0717Key Club
0718Boy Scouts
0719Girl Scouts
07214 H
0722Chess club
0723Sorority
0724Fraternity
0725Other club or organization
0726National Forensic League
0727National Honor Society
0728State Honor Society
0729Academic team/knowledge bowl
0730National Beta Club
0732Mu alpha theta
0733Psi Eta (Science Honorary)
0734Thespian Society
0735Other honor society
0932Student body officer
9999Other

0684 Diploma/Credential Level and Honors

1995Cum laude
1996Magna cum laude
1997Summa cum laude
1998Scholar award with honor
1999Scholar award with distinction
2000Local scholar award
2001State scholar award
2002National scholar award
2003Class valedictorian
2004Class salutatorian
2005Prize awards (not limited to subject matter awards)
2006Locally-sponsored scholarships
2007State-sponsored scholarships
2008Nationally-sponsored scholarships
2009Other monetary award
2357Rank
9999Other

0719 Transportation Status

2060Transported at public expense
2061Transported at reduced public expense
2062Transported, but not at public expense
2063Provided room, board, or payment in lieu of transportation
2064Not transported
9999Other

0720 State Transportation Aid Qualification

2065Qualifies for regular aid
2066Qualifies for special education aid
2067Does not qualify
9999Other

0721 Transportation at Public Expense Eligibility

2068Eligible because of distance
2069Eligible because of disability
2070Eligible because of disability and distance
2071Eligible because of hazardous conditions
2072Eligible because of program for desegregation or integration
2073Eligible because of special instruction
2074Not eligible
9999Other

0768 Primary Disability Type

2121Autistic/Autism
2122Deaf-blindness
2123Hearing impairment
2124Mental retardation
2125Multiple disabilities
2126Orthopedic impairment
2127Emotional Disturbance
2128Specific learning disability
2129Speech or language impairment
2130Traumatic brain injury
2131Visual impairment
2132Other health impairment
2133Deafness
2134Developmental delay
2135Infants and Toddlers with Disabilities

0792 Identification Procedure

2147Education assessment
2148Health assessment/screening
2149Parent/guardian referral
2151Self-report/survey
2152Special education assessment/evaluation
2153Teacher referral
9999Other

0798 Early Childhood Program Setting

0776Private school
2164Child's home
2165Home other than the child's
2166Public school facility
2167Childcare facility
2168Head Start center (no matter where offered)
2169Religion-affiliated institution
2170Business/workplace
2172University/postsecondary institution
2174Shelter or orphanage
2184Special education classroom in child care facility
2187Hospital facility
2188Other community-based setting
2190Facility sponsored by a state agency
2191Other childcare facility
3496Special education classroom in a public school facility
3497Special education classroom in a private school
9999Other

0804 Early Childhood Special Education Setting

0776Private school
2164Child's home
2165Home other than the child's
2166Public school facility
2167Childcare facility
2168Head Start center (no matter where offered)
2169Religion-affiliated institution
2170Business/workplace
2172University/postsecondary institution
2174Shelter or orphanage
2184Special education classroom in child care facility
2187Hospital facility
2188Other community-based setting
2190Facility sponsored by a state agency
2191Other childcare facility
3496Special education classroom in a public school facility
3497Special education classroom in a private school
9999Other

0806 Individualized Program Type

2196Individualized education program (IEP)
2197Individualized learning program (ILP)
2198Individualized family service plan (IFSP)
9999Other

0815 Program Exit Reason

2212Graduated with a high school diploma
2213Received certificate of completion, modified diploma, or finished IEP requirements
2214Program completion
2215Reached maximum age
2216No longer receiving special education
2217Refused services
2218Transferred to another district or school, known to be continuing in program/service
2219Transferred to another district or school, not known to be continuing in program/service
2220Suspended from school
2221Discontinued schooling, special education only
2222Discontinued schooling, not special education
2223Died
2224Expulsion
2225Program discontinued
2226Completion of IFSP prior to reaching maximum age for Part C
2227Eligible for IDEA, Part B
2228Not eligible for Part B, exit with referrals to other programs
2230Part B eligibility not determined
2231Moved out of state
2232Withdrawal by a parent (or guardian)
2233Unknown reason
2406Transferred to another district or school, known not to be continuing in program/service
9999Other

0849 Race

0998American Indian or Alaska Native
0999Asian
1000Black or African American
1001Native Hawaiian or Other Pacific Islander
1002White

1040 Incident Location

3011On campus
3012Administrative offices area
3013Cafeteria area
3014Classroom
3015Hallway or stairs
3016Locker room or gym areas
3017Restroom
3018Library/media center
3019Computer lab
3020Auditorium
3021On-campus other inside area
3022Athletic field or playground
3023Stadium
3024Parking lot
3025On-campus other outside area
3026Off campus
3027Bus stop
3028School bus
3029Walking to or from school
3030Off-campus at other school
3031Off-campus at other school district facility
3413Online
9997Unknown

1043 Reporter Description

0126Student
0850Parent/guardian
3054Law enforcement officer
3059Nonschool personnel
3060Representative of visiting school
3061Other adult
3062Other nonstudent youth
3168Former student
3422Staff member
9997Unknown

1045 Weapon Type

0010Firearm
0011Handgun
0012Shotgun/rifle
0013Other type of firearm
0020Knife
0021Knife with blade less than 2.5 inches
0023Knife with blade greater than or equal to 2.5 inches
0029Other knife
0030Other Sharp Objects
0040Other Object
0050Substance Used as Weapon
0097Other
0098No Weapon
0099Unknown Weapon

1046 Incident Injury

3063Minor injury
3064Major injury
3065No injury
3579Serious bodily injury

1048 Secondary Incident Behavior

3066Alcohol-related
3067Drug-related
3068Gang-related
3069Hate-related
3070Weapon-related

1049 Incident Code

1000Alcohol (liquor law violations: possession, use, sale)
1010Sale of alcohol
1020Distribution of alcohol
1030Drinking alcohol
1040Possession of alcohol
1050Suspicion of alcohol use
1097Other alcohol
1100Arson (Setting a Fire)
1200Attendance Policy Violation (Not Attending School or Classes as Required)
1210Forging absence excuse
1220Skipping class
1230Tardiness
1240Truancy
1297Other attendance policy violation
1300Battery (Physical Attack/Harm)
1400Burglary/Breaking and Entering (Stealing Property/Unlawful Entry)
1500Disorderly Conduct (Disruptive Behavior)
1600Drugs Excluding Alcohol and Tobacco (Illegal Drug Possession, Sale, Use/Under the Influence)
1610Sale of illegal drug
1620Sale of substance represented as an illegal drug
1630Distribution of illegal drug
1640Distribution of substance represented as an illegal drug
1650Use of illegal drug
1660Possession of illegal drug
1670Possession of drug paraphernalia
1680Suspicion of use
1697Other drug offense
1700Fighting (Mutual Altercation)
1800Harassment, Nonsexual (Physical, Verbal, or Psychological)
1810Bullying
1820Hazing
1897Other nonsexual harassment
1900Harassment, Sexual (Unwelcome Sexual Contact)
2000Homicide (Murder or Manslaughter)
2100Inappropriate Use of Medication (Prescription or over-the-counter)
2110Sale of medication
2120Distribution of medication
2130Use of medication in violation of school rules
2140Possession of medication in violation of school rules
2150Suspicion of use of medication in violation of school rules
2197Other inappropriate use of medication
2200Insubordination (Disobedience)
2300Kidnapping (Abduction)
2400Obscene Behavior
2410Displays of affection in violation of school policy
2420Obscene written messages
2430Drawing obscene pictures
2440Obscene electronic communication
2450Obscene gestures
2460Obscene language/profanity
2497Other obscene behavior
2500Physical Altercation, Minor (Pushing, Shoving)
2600Robbery (Taking of Things by Force)
2700School Threat (Threat of Destruction or Harm)
2710Bomb threat
2720Fire alarm
2730Chemical/biological threat
2740Terroristic threat
2797Other school threat
2800Sexual Battery (Sexual Assault)
2900Sexual Offenses, Other (Lewd Behavior, Indecent Exposure)
3000Suicide
3010Suicide
3020Attempted suicide
3097Other suicide offense
3100Theft (Stealing Personal or Other Property)
3110General theft, Person
3120General theft, Other entity
3197Other theft
3200Threat/Intimidation (Causing Fear of Harm)
3210Physical threat
3220Verbal threat
3230Written threat
3240Electronic threat
3297Other threat
3300Tobacco (Possession or Use)
3310Sale of tobacco
3320Distribution of tobacco
3330Use of tobacco
3340Possession of tobacco
3350Suspicion of use of tobacco
3397Other tobacco offense
3400Trespassing (Unlawful or Unauthorized Presence)
3500Vandalism (Damage to School or Personal Property)
3510Vandalism of school property
3520Vandalism of personal property
3597Other vandalism
3600Violation of School Rules (Disobeying School Policy)
3700Weapons Possession (Firearms and Other Weapons)
9000Other Offenses (e.g., Forgery, Extortion)

1050 Perpetrator Description

0126Student
0850Parent/guardian
3054Law enforcement officer
3059Nonschool personnel
3060Representative of visiting school
3061Other adult
3062Other nonstudent youth
3168Former student
3422Staff member
9997Unknown

1052 Victim Description

0126Student
0850Parent/guardian
3054Law enforcement officer
3059Nonschool personnel
3060Representative of visiting school
3061Other adult
3062Other nonstudent youth
3168Former student
3422Staff member
9997Unknown

1054 Disciplinary Action

3071Bus suspension
3072Change of placement (long-term)
3073Change of placement (reassignment), pending an expulsion hearing
3074Change of placement (reassignment), resulting from an expulsion hearing
3075Change of placement (reassignment), temporary
3076Community service
3077Conference with and warning to student
3078Conference with and warning to student and parent/guardian
3079Confiscation of contraband
3080Conflict resolution or anger management services mandated
3081Corporal punishment
3082Counseling mandated
3083Demerit
3084Detention
3085Expulsion recommendation
3086Expulsion with services
3087Expulsion without services
3088Juvenile justice referral
3089Law enforcement referral
3090Letter of apology
3091Loss of privileges
3092Physical activity
3093Reprimand
3094Restitution
3095Saturday school
3096School probation
3097Substance abuse counseling mandated
3098Substance abuse treatment mandated
3099Suspension after school
3100Suspension, in-school
3101Suspension, out-of-school, with services
3102Suspension, out-of-school, without services
3103Unsatisfactory behavior grade
3104Work detail
3105No action
3154Suspension, out of school, greater than 10 consecutive school days
3155Suspension, out of school, separate days cumulating to more than 10 school days
3156Unilateral removal - weapon incident
3157Unilateral removal - drug incident
3158Removal by a hearing officer
9997Unknown
9998None
9999Other

1151 Agency Type

3486Regular school district
3487School district that is a component of a supervisory union
3488Supervisory Union
3489Regional education service agency (RESA)
3490State school district
3491Federal school district
9999Other

National Information Standards Organization (NISO)

Z39.53 Language Codes [Z39.53]

Note that the maintenance agency for these codes is [Z39.53/MA].

aarAfar
abkAbkhaz
aceAchinese
achAcoli
adaAdangme
adyAdygei
afaAfroasiatic (Other)
afhAfrihili (Artificial language)
afrAfrikaans
ajmAljamía (Discontinued)
akaAkan
akkAkkadian
albAlbanian
aleAleut
algAlgonquian (Other)
amhAmharic
angEnglish, Old (ca. 450-1100)
apaApache languages
araArabic
arcAramaic
argAragonese Spanish
armArmenian
arnMapuche
arpArapaho
artArtificial (Other)
arwArawak
asmAssamese
astBable
athAthapascan (Other)
ausAustralian languages
avaAvaric
aveAvestan
awaAwadhi
aymAymara
azeAzerbaijani
badBanda
baiBamileke languages
bakBashkir
balBaluchi
bamBambara
banBalinese
baqBasque
basBasa
batBaltic (Other)
bejBeja
belBelarusian
bemBemba
benBengali
berBerber (Other)
bhoBhojpuri
bihBihari
bikBikol
binEdo
bisBislama
blaSiksika
bntBantu (Other)
bosBosnian
braBraj
breBreton
btkBatak
buaBuriat
bugBugis
bulBulgarian
burBurmese
cadCaddo
caiCentral American Indian (Other)
camKhmer (Discontinued)
carCarib
catCatalan
cauCaucasian (Other)
cebCebuano
celCeltic (Other)
chaChamorro
chbChibcha
cheChechen
chgChagatai
chiChinese
chkTruk
chmMari
chnChinook jargon
choChoctaw
chpChipewyan
chrCherokee
chuChurch Slavic
chvChuvash
chyCheyenne
cmcChamic languages
copCoptic
corCornish
cosCorsican
cpeCreoles and Pidgins, English-based (Other)
cpfCreoles and Pidgins, French-based (Other)
cppCreoles and Pidgins, Portuguese-based (Other)
creCree
crhCrimean Tatar
crpCreoles and Pidgins (Other)
cusCushitic (Other)
czeCzech
dakDakota
danDanish
darDargwa
dayDayak
delDelaware
denSlave
dgrDogrib
dinDinka
divDivehi
doiDogri
draDravidian (Other)
duaDuala
dumDutch, Middle (ca. 1050-1350)
dutDutch
dyuDyula
dzoDzongkha
efiEfik
egyEgyptian
ekaEkajuk
elxElamite
engEnglish
enmEnglish, Middle (1100-1500)
epoEsperanto
eskEskimo languages (Discontinued)
espEsperanto (Discontinued)
estEstonian
ethEthiopic (Discontinued)
eweEwe
ewoEwondo
fanFang
faoFaroese
farFaroese (Discontinued)
fatFanti
fijFijian
finFinnish
fiuFinno-Ugrian (Other)
fonFon
freFrench
friFrisian (Discontinued)
frmFrench, Middle (ca. 1400-1600)
froFrench, Old (ca. 842-1400)
fryFrisian
fulFula
furFriulian
gaa
gaeScottish Gaelic (Discontinued)
gagGalician (Discontinued)
galOromo
gayGayo
gbaGbaya
gemGermanic (Other)
geoGeorgian
gerGerman
gezEthiopic
gilGilbertese
glaScottish Gaelic
gleIrish
glgGalician
glvManx
gmhGerman, Middle High (ca. 1050-1500)
gohGerman, Old High (ca. 750-1050)
gonGondi
gorGorontalo
gotGothic
grbGrebo
grcGreek, Ancient (to 1453)
greGreek, Modern (1453- )
grnGuarani
guaGuarani (Discontinued)
gujGujarati
gwiGwich'in
haiHaida
hatHaitian French Creole
hauHausa
hawHawaiian
hebHebrew
herHerero
hilHiligaynon
himHimachali
hinHindi
hitHittite
hmnHmong
hmoHiri Motu
hunHungarian
hupHupa
ibaIban
iboIgbo
iceIcelandic
idoIdo
iiiSichuan Yi
ijoIjo
ikuInuktitut
ileInterlingue
iloIloko
inaInterlingua (International Auxiliary Language Association)
incIndic (Other)
indIndonesian
ineIndo-European (Other)
inhIngush
intInterlingua (International Auxiliary Language Association) (Discontinued)
ipkInupiaq
iraIranian (Other)
iriIrish (Discontinued)
iroIroquoian (Other)
itaItalian
javJavanese
jpnJapanese
jprJudeo-Persian
jrbJudeo-Arabic
kaaKara-Kalpak
kabKabyle
kacKachin
kalKalâtdlisut
kamKamba
kanKannada
karKaren
kasKashmiri
kauKanuri
kawKawi
kazKazakh
kbdKabardian
khaKhasi
khiKhoisan (Other)
khmKhmer
khoKhotanese
kikKikuyu
kinKinyarwanda
kirKyrgyz
kmbKimbundu
kokKonkani
komKomi
konKongo
korKorean
kosKusaie
kpeKpelle
kroKru
kruKurukh
kuaKuanyama
kumKumyk
kurKurdish
kusKusaie (Discontinued)
kutKutenai
ladLadino
lahLahnda
lamLamba
lanOccitan (post-1500) (Discontinued)
laoLao
lapSami (Discontinued)
latLatin
lavLatvian
lezLezgian
limLimburgish
linLingala
litLithuanian
lolMongo-Nkundu
lozLozi
ltzLetzeburgesch
luaLuba-Lulua
lubLuba-Katanga
lugGanda
luiLuiseño
lunLunda
luoLuo (Kenya and Tanzania)
lusLushai
macMacedonian
madMadurese
magMagahi
mahMarshallese
maiMaithili
makMakasar
malMalayalam
manMandingo
maoMaori
mapAustronesian (Other)
marMarathi
masMasai
maxManx (Discontinued)
mayMalay
mdrMandar
menMende
mgaIrish, Middle (ca. 1100-1550)
micMicmac
minMinangkabau
misMiscellaneous languages
mkhMon-Khmer (Other)
mlaMalagasy (Discontinued)
mlgMalagasy
mltMaltese
mncManchu
mniManipuri
mnoManobo languages
mohMohawk
molMoldavian
monMongolian
mosMooré
mulMultiple languages
munMunda (Other)
musCreek
mwrMarwari
mynMayan languages
nahNahuatl
naiNorth American Indian (Other)
napNeapolitan Italian
nauNauru
navNavajo
nblNdebele (South Africa)
ndeNdebele (Zimbabwe)
ndoNdonga
ndsLow German
nepNepali
newNewari
niaNias
nicNiger-Kordofanian (Other)
niuNiuean
nnoNorwegian (Nynorsk)
nobNorwegian (Bokmål)
nogNogai
nonOld Norse
norNorwegian
nsoNorthern Sotho
nubNubian languages
nyaNyanja
nymNyamwezi
nynNyankole
nyoNyoro
nziNzima
ociOccitan (post-1500)
ojiOjibwa
oriOriya
ormOromo
osaOsage
ossOssetic
otaTurkish, Ottoman
otoOtomian languages
paaPapuan (Other)
pagPangasinan
palPahlavi
pamPampanga
panPanjabi
papPapiamento
pauPalauan
peoOld Persian (ca. 600-400 B.C.)
perPersian
phiPhilippine (Other)
phnPhoenician
pliPali
polPolish
ponPonape
porPortuguese
praPrakrit languages
proProvençal (to 1500)
pusPushto
queQuechua
rajRajasthani
rapRapanui
rarRarotongan
roaRomance (Other)
rohRaeto-Romance
romRomani
rumRomanian
runRundi
rusRussian
sadSandawe
sagSango (Ubangi Creole)
sahYakut
saiSouth American Indian (Other)
salSalishan languages
samSamaritan Aramaic
sanSanskrit
saoSamoan (Discontinued)
sasSasak
satSantali
sccSerbian
scoScots
scrCroatian
selSelkup
semSemitic (Other)
sgaIrish, Old (to 1100)
sgnSign languages
shnShan
shoShona (Discontinued)
sidSidamo
sinSinhalese
sioSiouan (Other)
sitSino-Tibetan (Other)
slaSlavic (Other)
sloSlovak
slvSlovenian
smaSouthern Sami
smeNorthern Sami
smiSami
smjLule Sami
smnInari Sami
smoSamoan
smsSkolt Sami
snaShona
sndSindhi
snhSinhalese (Discontinued)
snkSoninke
sogSogdian
somSomali
sonSonghai
sotSotho
spaSpanish
srdSardinian
srrSerer
ssaNilo-Saharan (Other)
ssoSotho (Discontinued)
sswSwazi
sukSukuma
sunSundanese
susSusu
suxSumerian
swaSwahili
sweSwedish
swzSwazi (Discontinued)
syrSyriac
tagTagalog (Discontinued)
tahTahitian
taiTai (Other)
tajTajik (Discontinued)
tamTamil
tarTatar (Discontinued)
tatTatar
telTelugu
temTemne
terTerena
tetTetum
tgkTajik
tglTagalog
thaThai
tibTibetan
tigTigré
tirTigrinya
tivTiv
tklTokelauan
tliTlingit
tmhTamashek
togTonga (Nyasa)
tonTongan
tpiTok Pisin
truTruk (Discontinued)
tsiTsimshian
tsnTswana
tsoTsonga
tswTswana (Discontinued)
tukTurkmen
tumTumbuka
tupTupi languages
turTurkish
tutAltaic (Other)
tvlTuvaluan
twiTwi
tyvTuvinian
udmUdmurt
ugaUgaritic
uigUighur
ukrUkrainian
umbUmbundu
undUndetermined
urdUrdu
uzbUzbek
vaiVai
venVenda
vieVietnamese
volVolapük
votVotic
wakWakashan languages
walWalamo
warWaray
wasWasho
welWelsh
wenSorbian languages
wlnWalloon
wolWolof
xalKalmyk
xhoXhosa
yaoYao (Africa)
yapYapese
yidYiddish
yorYoruba
ypkYupik languages
zapZapotec
zenZenaga
zhaZhuang
zndZande
zulZulu
zunZuni

Performance-Based Data Management Initiative (PBDMI)

Homeless Educational Support Services and Activities/Type of Services Received

ASSTAssistance with participation in school programs
BASSUMBefore-school, after-school, mentoring, summer programs
CLOTHClothing to meet a school requirement
COORDCoordinator between schools and agencies
COUNSCounseling
DOMVAddressing needs related to domestic violence
ECPGM Early Childhood Programs
EEExpedited evaluations
EMEREmergency assistance related to school attendance
MEDREFReferrals for medical, dental, and other health services
MISSING
NOTAPPLICNot Applicable, when no McKinney Vento Program
NOTCOLLECTNot Collected
OTHEROther services or activities
OTHREFReferral to other programs and services
PARENTParent education related to rights and resources for children
PDStaff professional development and awareness
RECSObtaining or transferring records necessary for enrollment
SUPPLYSchool supplies
TRANSTransportation
TUTTutoring or other instructional support

LEP Program/Type of Services Received

BILINGBilingual (including native language support)
CONTENTESLContent-based ESL
DEVBILDevelopmental bilingual
DUALLANGDual language
HERITAGEHeritage language preservation programs
MISSING
NOTCOLLECTNot Collected
OTHEROther
PULLESLPull-out ESL
SDAIESpecially designed academic instruction delivered in English
SHELENGLSheltered English Instruction
STRUCIMMStructured English Immersion
TRANSBILTransitional bilingual
TWOIMMTwo-way bilingual immersion

Migrant Students Served/Migrant Service Type

AISAny Instructional Service
ANYSSAny Support Service
ARSAny Referred Service
COSContinuation of Service
CSCounseling Service
HSCAHigh School Credit Accrual (Grades 9-12 only)
MIMathematics Instruction
MISSING
NOTCOLLECTNot Collected
RIReading Instruction

Students in Neglected or Delinquent Programs/Neglected or Delinquent Services Received

ASAcademic Support
ASCAccrued School Credits
DPDropout Prevention
JTJob Training
MISSING
NOTCOLLECTNot Collected
TSTransition Support

Safety in Numbers: Collecting and Using Crime, Violence and Discipline Data to Make a Difference in Schools [SAFETY]

Time

100During School Hours
110Before classes
120During class
130During passing
140During lunch/recess
150After classes
197Other time during school hours
200In Transit
210On the way to school
220On the way from school
300Outside School Hours
310School-sponsored activity
320Nonschool-sponsored activity
397Other
999Unknown

SCED [SCED]

Course Titles

01001English/Language Arts I (9th grade)
01002English/Language Arts II (10th grade)
01003English/Language Arts III (11th grade)
01004English/Language Arts IV (12th grade)
01005AP English Language and Composition
01006AP English Literature and Composition
01007IB Language A (English)
01008English as a Second Language
01009Language Arts Laboratory
01051English/Literature (freshmen and sophomores)
01052English/Literature (juniors and seniors)
01053Literature
01054American Literature
01055American Literature/History
01056British Literature
01057British Literature/History
01058World Literature
01059Biblical Literature
01060Literature of an Author
01061Literature of a Genre
01062Literature of a Period
01063Literature of a Place
01064Literature of a People
01065Literature of a Theme
01066Strategic Reading
01067Assisted Reading
01068Corrective Reading
01097Literature—Independent Study
01098Literature—Workplace Experience
01099Literature—Other
01101English/Composition (freshmen and sophomores)
01102English/Composition (juniors and seniors)
01103Composition
01104Creative Writing
01105Research/Technical Writing
01147Composition—Independent Study
01148Composition—Workplace Experience
01149Composition—Other
01151Public Speaking
01152Forensic Speech—Inclusive
01153Forensic Speech—Debate
01154Forensic Speech—Individual Event
01155Communications
01156Applied English and Communications
01197Speech—Independent Study
01198Speech—Workplace Experience
01199Speech—Other
01201English Morphology and Grammar
01202History of the English Language
01203English—Test Preparation
01992English Proficiency Development
01995English Language and Literature—Aide
01997English Language and Literature—Independent Study
01998English Language and Literature—Workplace Experience
01999English Language and Literature—Other
02001Informal Mathematics
02002General Math
02003Particular Topics in Foundation Math
02047Foundation Math—Independent Study
02049Foundation Math—Other
02051Pre-Algebra
02052Algebra I
02053Algebra I—Part 1
02054Algebra I—Part 2
02055Transition Algebra
02056Algebra II
02057Algebra III
02058Particular Topics in Algebra
02061Integrated Math—multi-year equivalent
02069Algebra—Other
02071Informal Geometry
02072Geometry
02073Analytic Geometry
02074Principles of Algebra and Geometry
02075Particular Topics in Geometry
02079Geometry—Other
02101Number Theory
02102Discrete Mathematics
02103Trigonometry
02104Math Analysis
02105Trigonometry/Math Analysis
02106Trigonometry/Algebra
02107Trigonometry/Analytic Geometry
02108Math Analysis/Analytic Geometry
02109Elementary Functions
02110Pre-Calculus
02111Linear Algebra
02112Linear Programming
02113Abstract Algebra
02121Calculus
02122Multivariate Calculus
02123Differential Calculus
02124AP Calculus AB
02125AP Calculus BC
02126Particular Topics in Calculus
02131IB Mathematical Studies
02132IB Mathematics
02133IB Mathematics and Computing—SL
02134IB Further Mathematics—SL
02141Particular Topics in Analytic Mathematics
02149Analytic Mathematics—Other
02151General Applied Math
02152Occupationally Applied Math
02153Technical Math
02154Business Math
02155Business Math with Algebra
02156Computer Math with Algebra
02157Consumer Math
02201Probability and Statistics
02202Inferential Probability and Statistics
02203AP Statistics
02204Particular Topics in Probability and Statistics
02207Probability and Statistics—Independent Study
02209Probability and Statistics—Other
02991History of Math
02993Mathematics—Test Preparation
02994Mathematics Proficiency Development
02995Mathematics—Aide
02997Mathematics—Independent Study
02998Mathematics—Workplace Experience
02999Mathematics—Other
03001Earth Science
03002Geology
03003Environmental Science
03004Astronomy
03005Marine Science
03006Meteorology
03007Physical Geography
03008Earth and Space Science
03047Earth Science—Independent Study
03048Earth Science—Workplace Experience
03049Earth Science—Other
03051Biology
03052Biology—Advanced Studies
03053Anatomy and Physiology
03054Anatomy
03055Physiology
03056AP Biology
03057IB Biology
03058Botany
03059Genetics
03060Microbiology
03061Zoology
03062Conceptual Biology
03063Particular Topics in Biology
03097Biology—Independent Study
03098Biology—Workplace Experience
03099Biology—Other
03101Chemistry
03102Chemistry—Advanced Studies
03103Organic Chemistry
03104Physical Chemistry
03105Conceptual Chemistry
03106AP Chemistry
03107IB Chemistry
03108Particular Topics in Chemistry
03147Chemistry—Independent Study
03148Chemistry—Workplace Experience
03149Chemistry—Other
03151Physics
03152Physics—Advanced Studies
03153Principles of Technology
03155AP Physics B
03156AP Physics C
03157IB Physics
03159Physical Science
03160IB Physical Science
03161Conceptual Physics
03162Particular Topics in Physics
03197Physics—Independent Study
03198Physics—Workplace Experience
03199Physics—Other
03201Integrated Science
03202Unified Science
03203Applied Biology/Chemistry
03204Technological Inquiry
03205Origins of Science
03206IB Design Technology
03207AP Environmental Science
03208IB Environmental Science
03209Aerospace
03210Science, Technology and Society
03211Technical Science
03212Scientific Research and Design
03994Life and Physical Sciences—Proficiency Development
03995Life and Physical Sciences—Aide
03997Life and Physical Sciences—Independent Study
03998Life and Physical Sciences—Workplace Experience
03999Life and Physical Sciences—Other
04001World Geography
04002Particular Topics in Geography
04003IB Geography
04004AP Human Geography
04047Geography—Independent Study
04048Geography—Workplace Experience
04049Geography—Other
04051World History—Overview
04052World History and Geography
04053Modern World History
04054IB History
04055Modern European History
04056AP European History
04057AP World History
04058Ancient Civilizations
04059Medieval European History
04060Ancient and Medieval History
04061World Area Studies
04062World People Studies
04063Western Civilization
04064Contemporary World Issues
04065Particular Topics in World History
04066IB Islamic History
04097World History—Independent Study
04098World History—Workplace Experience
04099World History—Other
04101U.S. History—Comprehensive
04102Early U.S. History
04103Modern U.S. History
04104AP U.S. History
04105State-Specific Studies
04106Contemporary U.S. Issues
04107U.S. Ethnic Studies
04108U.S. Gender Studies
04109Particular Topics in U.S. History
04147U.S. History—Independent Study
04148U.S. History—Workplace Experience
04149U.S. History—Other
04151U.S. Government—Comprehensive
04152Particular Topics in U.S. Government
04153Political Science
04154Comparative Government
04155International Relations
04156United States and World Affairs
04157AP U.S. Government and Politics
04158AP Comparative Government and Politics
04159AP Government
04160Principles of Democracy
04161Civics
04162Law Studies
04163Consumer Law
04164Business Law
04165Legal System
04166Particular Topics in Law
04197Government, Politics and Law—Independent Study
04198Government, Politics and Law—Workplace Experience
04199Government, Politics and Law—Other
04201Economics
04202Comparative Economics
04203AP Microeconomics
04204AP Macroeconomics
04205AP Economics
04206IB Economics
04207Particular Topics in Economics
04247Economics—Independent Study
04248Economics—Workplace Experience
04249Economics—Other
04251Anthropology
04252Particular Topics in Anthropology
04253IB Social Anthropology
04254Psychology
04255Particular Topics in Psychology
04256AP Psychology
04257IB Psychology
04258Sociology
04259Particular Topics in Sociology
04260Social Science
04261Social Science Research
04262IB Organization Studies
04297Social Sciences—Independent Study
04298Social Sciences—Workplace Experience
04299Social Sciences—Other
04301Humanities Survey
04302Humanities
04303Issues of Western Humanities
04304IB Theory of Knowledge
04305Social Studies
04306Philosophy
04307Particular Topics in Philosophy
04308Modern Intellectual History
04309IB Philosophy
04310Particular Topics in Humanities
04347Humanities—Independent Study
04348Humanities—Workplace Experience
04349Humanities—Other
04994Social Sciences and History—Proficiency Development
04995Social Sciences and History—Aide
04997Social Sciences and History—Independent Study
04998Social Sciences and History—Workplace Experience
04999Social Sciences and History—Other
05001Dance Technique
05002Dance Repertory
05003Expressive Movement
05004Dance Appreciation
05005Choreography
05047Dance—Independent Study
05048Dance—Workplace Experience
05049Dance—Other
05051Introduction to the Theater
05052Theatre Arts
05053Drama—Comprehensive
05054Exploration in Drama
05055Drama—Acting/Performance
05056Drama—Stagecraft
05057Directing
05058Playwriting
05059History and Literature of the Theater
05097Drama—Independent Study
05098Drama—Workplace Experience
05099Drama—Other
05101General Band
05102Concert Band
05103Marching Band
05104Orchestra
05105Contemporary Band
05106Instrumental Ensembles
05107Piano
05108Guitar
05109Individual Technique—Instrumental Music
05110Chorus
05111Vocal Ensembles
05112Individual Technique—Vocal Music
05113Music Theory
05114AP Music Theory
05115IB Music
05116Music History/Appreciation
05117Music History
05118Music Appreciation
05119Composition/Songwriting
05147Music—Independent Study
05148Music—Workplace Experience
05149Music—Other
05151Art Appreciation
05152Art History
05153AP Art—History of Art
05154Creative Art—Comprehensive
05155Creative Art—Drawing/Painting
05156Creative Art—Drawing
05157Creative Art—Painting
05158Creative Art—Sculpture
05159Ceramics/Pottery
05160Printmaking/Graphics
05161Printmaking
05162Graphic Design
05163Advertising Design
05164Textiles
05165Crafts
05166Jewelry
05167Photography
05168Film/Videotape
05169Computer-Assisted Art
05170Art Portfolio
05171AP Studio Art—General Portfolio
05172AP Studio Art—Drawing Portfolio
05173IB Art/Design
05197Visual Arts—Independent Study
05198Visual Arts—Workplace Experience
05199Visual Arts—Other
05201Integrated Fine Arts
05995Fine and Performing Art—Aide
05997Fine and Performing Art—Independent Study
05998Fine and Performing Art—Workplace Experience
05999Fine and Performing Art—Other
06101Spanish I
06102Spanish II
06103Spanish III
06104Spanish IV
06105Spanish V
06106Spanish for Native Speakers
06107Spanish Field Experience
06108Spanish Conversation and Culture
06109Spanish Literature
06110IB Language A (non-English)—Spanish
06111IB Language B—Spanish
06112AP Spanish Language
06113AP Spanish Literature
06121French I
06122French II
06123French III
06124French IV
06125French V
06126French for Native Speakers
06127French Field Experience
06128French Conversation and Culture
06129French Literature
06130IB Language A (non-English)—French
06131IB Language B—French
06132AP French Language
06133AP French Literature
06141Italian I
06142Italian II
06143Italian III
06144Italian IV
06145Italian V
06146Italian for Native Speakers
06147Italian Field Experience
06148Italian Conversation and Culture
06149Italian Literature
06150IB Language A (non-English)—Italian
06151IB Language B—Italian
06161Portuguese I
06162Portuguese II
06163Portuguese III
06164Portuguese IV
06165Portuguese V
06166Portuguese for Native Speakers
06167Portuguese Field Experience
06168Portuguese Conversation and Culture
06169Portuguese Literature
06170IB Language A (non-English)—Portuguese
06171IB Language B—Portuguese
06181Romance/Italic Language I
06182Romance/Italic Language II
06183Romance/Italic Language III
06184Romance/Italic Language IV
06185Romance/Italic Language V
06186Romance/Italic Language for Native Speakers
06187Romance/Italic Language Field Experience
06188Romance/Italic Language Conversation and Culture
06189Romance/Italic Literature
06190IB Language A (non-English)—Romance/Italic Language
06191IB Language B—Romance/Italic Language
06199Romance/Italic Language—Other
06201German I
06202German II
06203German III
06204German IV
06205German V
06206German for Native Speakers
06207German Field Experience
06208German Conversation and Culture
06209German Literature
06210IB Language A (non-English)—German
06211IB Language B—German
06212AP German Language
06241Germanic Language I
06242Germanic Language II
06243Germanic Language III
06244Germanic Language IV
06245Germanic Language V
06246Germanic Language for Native Speakers
06247Germanic Language Field Experience
06248Germanic Language Conversation and Culture
06249Germanic Literature
06250IB Language A (non-English)—Germanic Language
06251IB Language B—Germanic Language
06259Germanic Language—Other
06261Celtic Language I
06262Celtic Language II
06263Celtic Language III
06264Celtic Language IV
06265Celtic Language V
06266Celtic Language for Native Speakers
06267Celtic Language Field Experience
06268Celtic Language Conversation and Culture
06269Celtic Literature
06270IB Language A (non-English)—Celtic Language
06271IB Language B—Celtic Language
06279Celtic Language—Other
06281Greek I
06282Greek II
06283Greek III
06284Greek IV
06285Greek V
06286Greek for Native Speakers
06287Greek Field Experience
06288Greek Conversation and Culture
06289Greek Literature
06290IB Language A (non-English)—Greek
06291IB Language B—Greek
06299Greek—Other
06301Latin I
06302Latin II
06303Latin III
06304Latin IV
06305Latin V
06311IB Classical Languages—Latin
06313AP Latin (Virgil, Catullus and Horace)
06321Classical Greek I
06322Classical Greek II
06323Classical Greek III
06324Classical Greek IV
06325Classical Greek V
06331IB Classical Languages—Greek
06359Classical Languages—Other
06401Chinese I
06402Chinese II
06403Chinese III
06404Chinese IV
06405Chinese V
06406Chinese for Native Speakers
06407Chinese Field Experience
06408Chinese Conversation and Culture
06409Chinese Literature
06410IB Language A (non-English)—Chinese
06411IB Language B—Chinese
06421Japanese I
06422Japanese II
06423Japanese III
06424Japanese IV
06425Japanese V
06426Japanese for Native Speakers
06427Japanese Field Experience
06428Japanese Conversation and Culture
06429Japanese Literature
06430IB Language A (non-English)—Japanese
06431IB Language B—Japanese
06441Korean I
06442Korean II
06443Korean III
06444Korean IV
06445Korean V
06446Korean for Native Speakers
06447Korean Field Experience
06448Korean Conversation and Culture
06449Korean Literature
06450IB Language A (non-English)—Korean
06451IB Language B—Korean
06481East Asian Language I
06482East Asian Language II
06483East Asian Language III
06484East Asian Language IV
06485East Asian Language V
06486East Asian Language for Native Speakers
06487East Asian Language Field Experience
06488East Asian Language Conversation and Culture
06489East Asian Literature
06490IB Language A (non-English)—East Asian Language
06491IB Language B—East Asian Language
06499East Asian Language—Other
06501Vietnamese I
06502Vietnamese II
06503Vietnamese III
06504Vietnamese IV
06505Vietnamese V
06506Vietnamese for Native Speakers
06507Vietnamese Field Experience
06508Vietnamese Conversation and Culture
06509Vietnamese Literature
06510IB Language A (non-English)—Vietnamese
06511IB Language B—Vietnamese
06521Filipino I
06522Filipino II
06523Filipino III
06524Filipino IV
06525Filipino V
06526Filipino for Native Speakers
06527Filipino Field Experience
06528Filipino Conversation and Culture
06529Filipino Literature
06530IB Language A (non-English)—Filipino
06531IB Language B—Filipino
06581Southeast Asian Language I
06582Southeast Asian Language II
06583Southeast Asian Language III
06584Southeast Asian Language IV
06585Southeast Asian Language V
06586Southeast Asian Language for Native Speakers
06587Southeast Asian Language Field Experience
06588Southeast Asian Language Conversation and Culture
06589Southeast Asian Literature
06590IB Language A (non-English)—Southeast Asian Language
06591IB Language B—Southeast Asian Language
06599Southeast Asian Language—Other
06601Russian I
06602Russian II
06603Russian III
06604Russian IV
06605Russian V
06606Russian for Native Speakers
06607Russian Field Experience
06608Russian Conversation and Culture
06609Russian Literature
06610IB Language A (non-English)—Russian
06611IB Language—Russian
06641Balto-Slavic Language I
06642Balto-Slavic Language II
06643Balto-Slavic Language III
06644Balto-Slavic Language IV
06645Balto-Slavic Language V
06646Balto-Slavic Language for Native Speakers
06647Balto-Slavic Language Field Experience
06648Balto-Slavic Language Conversation and Culture
06649Balto-Slavic Literature
06650IB Language A (non-English)—Balto-Slavic Language
06651IB Language B—Balto-Slavic Language
06659Balto-Slavic Language—Other
06661Turkic/Ural-Altaic Language I
06662Turkic/Ural-Altaic Language II
06663Turkic/Ural-Altaic Language III
06664Turkic/Ural-Altaic Language IV
06665Turkic/Ural-Altaic Language V
06666Turkic/Ural-Altaic Language for Native Speakers
06667Turkic/Ural-Altaic Language Field Experience
06668Turkic/Ural-Altaic Language Conversation and Culture
06669Turkic/Ural-Altaic Literature
06670IB Language A (non-English)—Turkic/Ural-Altaic Language
06671IB Language B—Turkic/Ural-Altaic Language
06679Turkic/Ural-Altaic Language—Other
06681Iranian/Persian Language I
06682Iranian/Persian Language II
06683Iranian/Persian Language III
06684Iranian/Persian Language IV
06685Iranian/Persian Language V
06686Iranian/Persian Language for Native Speakers
06687Iranian/Persian Language Field Experience
06688Iranian/Persian Language Conversation and Culture
06689Iranian/Persian Literature
06690IB Language A (non-English)—Iranian/Persian Language
06691IB Language B—Iranian/Persian Language
06699Iranian/Persian Language—Other
06701Hebrew I
06702Hebrew II
06703Hebrew III
06704Hebrew IV
06705Hebrew V
06706Hebrew for Native Speakers
06707Hebrew Field Experience
06708Hebrew Conversation and Culture
06709Hebrew Literature
06710IB Language A (non-English)—Hebrew
06711IB Language B—Hebrew
06712IB Classical Languages—Hebrew
06721Arabic I
06722Arabic II
06723Arabic III
06724Arabic IV
06725Arabic V
06726Arabic for Native Speakers
06727Arabic Field Experience
06728Arabic Conversation and Culture
06729Arabic Literature
06730IB Language A (non-English)—Arabic
06731IB Language—Arabic
06732IB Classical Languages—Arabic
06759Semitic and Near/Middle Eastern Languages—Other
06761Swahili I
06762Swahili II
06763Swahili III
06764Swahili IV
06765Swahili V
06766Swahili for Native Speakers
06767Swahili Field Experience
06768Swahili Conversation and Culture
06769Swahili Literature
06770IB Language A (non-English)—Swahili
06771IB Language B—Swahili
06781Non-Semitic African Language I
06782Non-Semitic African Language II
06783Non-Semitic African Language III
06784Non-Semitic African Language IV
06785Non-Semitic African Language V
06786Non-Semitic African Language for Native Speakers
06787Non-Semitic African Language Field Experience
06788Non-Semitic African Language Conversation and Culture
06789Non-Semitic African Literature
06790IB Language A (non-English)—Non-Semitic African Language
06791IB Language B—Non-Semitic African Language
06799Non-Semitic African Language—Other
06801American Sign Language I
06802American Sign Language II
06803American Sign Language III
06804American Sign Language IV
06805American Sign Language V
06819American Sign Language—Other
06821American Indian Language I
06822American Indian Language II
06823American Indian Language III
06824American Indian Language IV
06825American Indian Language V
06826American Indian Language for Native Speakers
06827American Indian Language Field Experience
06828American Indian Language Conversation and Culture
06829American Indian Literature
06830IB Language A (non-English)—American Indian Language
06831IB Language B—American Indian Language
06839American Indian Language—Other
06841Indic Language I
06842Indic Language II
06843Indic Language III
06844Indic Language IV
06845Indic Language V
06846Indic Language for Native Speakers
06847Indic Language Field Experience
06848Indic Language Conversation and Culture
06849Indic Literature
06850IB Language A (non-English)—Indic Language
06851IB Language B—Indic Language
06859Indic Language—Other
06861Malayo-Polynesian Language I
06862Malayo-Polynesian Language II
06863Malayo-Polynesian Language III
06864Malayo-Polynesian Language IV
06865Malayo-Polynesian Language V
06866Malayo-Polynesian Language for Native Speakers
06867Malayo-Polynesian Language Field Experience
06868Malayo-Polynesian Language Conversation and Culture
06869Malayo-Polynesian Literature
06870IB Language A (non-English)—Malayo-Polynesian Language
06871IB Language B—Malayo-Polynesian Language
06879Malayo-Polynesian Language—Other
06995Foreign Language and Literature—Aide
06997Foreign Language and Literature—Independent Study
06998Foreign Language and Literature—Workplace Experience
06999Foreign Language and Literature—Other
07001Religious Foundations
07002Comparative Religion
07003Eastern Religions
07004Western Religions
07005Scriptures
07006Old Testament
07007New Testament
07008Bible History
07009Christology
07010Religious Figures
07011Liturgy and Prayer
07012Prayer and Spirituality
07013Religious Ethics and Morality
07014Justice, Peace, and Faith
07015Faith and Lifestyle
07016Ministry
07995Religious Education and Theology—Aide
07997Religious Education and Theology—Independent Study
07998Religious Education and Theology—Workplace Experience
07999Religious Education and Theology—Other
08001Physical Education
08002Team Sports
08003Individual/Dual Sports
08004Recreation Sports
08005Fitness/Conditioning Activities
08006Corps Movement
08007Adapted Physical Education
08008Gymnastics
08009Weight Training
08010Aquatics/Water Sports
08011Tennis
08012Self-defense
08013Specific Sports Activities
08014Physical Education Equivalent
08015Off-Campus Sports
08016Lifetime Fitness Education
08017Sports Physiology
08047Physical Education—Independent Study
08048Physical Education—Workplace Experience
08049Physical Education—Other
08051Health Education
08052Health and Fitness
08053Community Health
08054Special Needs Health Education
08055Safety and First Aid
08056Health for Parenting Teens
08057Health and Life Management
08058Substance Abuse Prevention
08097Health Education—Independent Study
08098Health Education—Workplace Experience
08099Health Education—Other
08151Drivers’ Education—Classroom Only
08152Drivers’ Education—Classroom and Laboratory
08197Drivers’ Education—Independent Study
08198Drivers’ Education—Workplace Experience
08199Drivers’ Education—Other
08201Physical Education/Health/Drivers’ Education
08995Physical, Health, and Safety Education—Aide
08997Physical, Health, and Safety Education—Independent Study
08998Physical, Health, and Safety Education—Workplace Experience
08999Physical, Health, and Safety Education—Other
09001Introduction to Jr. ROTC
09002Military Jr. ROTC—unspecified branch
09003ROTC Drill
09004Military Leadership
09051Army Junior ROTC I
09052Army Junior ROTC II
09053Army Junior ROTC III
09054Army Junior ROTC IV
09101Naval Junior ROTC I
09102Naval Junior ROTC II
09103Naval Junior ROTC III
09104Naval Junior ROTC IV
09151Air Force Junior ROTC I
09152Air Force Junior ROTC II
09153Air Force Junior ROTC III
09154Air Force Junior ROTC IV
09201Marine Corps Junior ROTC I
09202Marine Corps Junior ROTC II
09203Marine Corps Junior ROTC III
09204Marine Corps Junior ROTC IV
09995Military Science—Aide
09997Military Science—Independent Study
09998Military Science—Workplace Experience
09999Military Science—Other
10001Introduction to Computers
10002Computing Systems
10003Computer and Information Technology
10004Computer Applications
10005Business Computer Applications
10006Telecommunications
10007IB Information Technology in a Global Society
10008Particular Topics in Computer Literacy
10047Computer Literacy—Independent Study
10048Computer Literacy—Workplace Experience
10049Computer Literacy—Other
10051Information Management
10052Database Management and Data Warehousing
10053Database Applications
10054Data Systems/Processing
10055Particular Topics in Management Information Systems
10097Management Information Systems—Independent Study
10098Management Information Systems—Workplace Experience
10099Management Information Systems—Other
10101Network Technology
10102Networking Systems
10103Area Network Design and Protocols
10104Router Basics
10105NetWare Routing
10106Wide Area Telecommunications and Networking
10107Wireless Networks
10108Network Security
10109Essentials of Network Operating Systems
10110Microsoft Certified Professional (MCP)
10111Particular Topics in Networking Systems
10147Networking Systems—Independent Study
10148Networking Systems—Workplace Experience
10149Networking Systems—Other
10151Business Programming
10152Computer Programming
10153Visual Basic (VB) Programming
10154C++ Programming
10155Java Programming
10156Computer Programming—Other Language
10157AP Computer Science A
10158AP Computer Science AB
10159IB Computing Studies
10160Particular Topics in Computer Programming
10197Computer Programming—Independent Study
10198Computer Programming—Workplace Experience
10199Computer Programming—Other
10201Web Page Design
10202Computer Graphics
10203Interactive Media
10204Particular Topics in Media Technology
10247Media Technology—Independent Study
10248Media Technology—Workplace Experience
10249Media Technology—Other
10251Computer Technology
10252Computer Maintenance
10253Information Support and Services
10254IT Essentials: PC Hardware and Software
10255CISCO—The Panduit Network Infrastructure Essentials (PNIE)
10256Particular Topics in Information Support and Services
10297Information Support and Services—Independent Study
10298Information Support and Services—Workplace Experience
10299Information Support and Services—Other
10995Computer and Information Sciences—Aide
10997Computer and Information Sciences—Independent Study
10998Computer and Information Sciences—Workplace Experience
10999Computer and Information Sciences—Other
11001Introduction to Communication
11002Communication Technology
11003Particular Topics in Communication
11047Communication—Independent Study
11048Communication—Workplace Experience
11049Communication—Other
11051Audio/Visual Production
11052Commercial Photography
11053Photographic Laboratory and Darkroom
11054Photo Imaging
11055Video
11056Particular Topics in Audio/Video Technology and Film
11097Audio/Video Technology and Film—Independent Study
11098Audio/Video Technology and Film—Workplace Experience
11099Audio/Video Technology and Film—Other
11101Journalism
11102Photojournalism
11103Broadcasting Technology
11104Publication Production
11105Particular Topics in Journalism and Broadcasting
11147Journalism and Broadcasting—Independent Study
11148Journalism and Broadcasting—Workplace Experience
11149Journalism and Broadcasting—Other
11151Digital Media Technology
11152Desktop Publishing
11153Digital Media Design and Production
11154Commercial Graphic Design
11155Graphic Technology
11156Photography and Printing Technology
11157Photoengraving
11158Print Press Operations
11159Particular Topics in Printing Technology and Production
11197Printing Technology—Independent Study
11198Printing Technology—Workplace Experience
11199Printing Technology—Other
11995Communication and Audio/Video Technology—Aide
11997Communication and Audio/Video Technology—Independent Study
11998Communication and Audio/Video Technology—Workplace Experience
11999Communication and Audio/Video Technology—Other
12001Business/Office Career Exploration
12002Office Procedures—Comprehensive
12003Office and Administrative Technologies
12004Office Services
12005Keyboarding
12006Word Processing
12007Recordkeeping
12008Particular Topics in Administration
12009Business Communications
12047Administration—Independent Study
12048Administration—Workplace Experience
12049Administration—Other
12051Introductory Business
12052Business Management
12053Entrepreneurship
12054Business Law
12055Business Principles and Management
12056International Business and Marketing
12057Human Resources and Labor Relations
12058Human Resources Management
12059IB Business and Management
12097Management—Independent Study
12098Management—Workplace Experience
12099Management—Other
12101Banking and Finance
12102Banking
12103Finance
12104Accounting
12105Business Economics
12106Risk Management and Insurance
12107Investing
12147Finance—Independent Study
12148Finance—Workplace Experience
12149Finance—Other
12151Marketing Career Exploration
12152Marketing—Comprehensive
12153Marketing—Fashion
12154Marketing—Real Estate
12155Marketing—Transportation
12156Marketing—Food/Beverage Industry
12157Marketing—Insurance
12158Marketing—Floristry
12159Marketing—Hospitality/Tourism
12160Marketing—Merchandising
12161Retail Marketing
12162Internet Marketing
12163Sports and Entertainment Marketing
12164Principles of Marketing
12165Principles of Advertising
12166Marketing Management
12167Marketing—Other Specialization
12197Marketing—Independent Study
12198Marketing—Workplace Experience
12199Marketing—Other
12201Cashier/Checker Operations
12202Principles of Selling
12247Sales—Independent Study
12248Sales—Workplace Experience
12249Sales—Other
12995Business and Marketing—Aide
12997Business and Marketing—Independent Study
12998Business and Marketing—Workplace Experience
12999Business and Marketing—Other
13001Exploration of Manufacturing Occupations
13002Manufacturing—Comprehensive
13003Industrial Arts
13004Industrial Safety/First Aid
13052Material and Processes
13053Metal and Wood Processing/Production
13054Wood Processing/Production
13055Metal Processing/Production
13056Plastics Processing/Production
13057Ceramic Processing/Production
13058Particular Topics in Processing and Production
13097Processing/Production—Independent Study
13098Processing/Production—Workplace Experience
13099Processing/Production—Other
13101Production Systems
13102Electro-Mechanical Systems
13103Product Development
13147Production Systems—Independent Study
13148Production Systems—Workplace Experience
13149Production Systems—Other
13201Metalwork Occupations
13202Metalworking
13203Machining
13204Particular Topics in Machining
13205Sheet Metal
13206Particular Topics in Sheet Metal
13207Welding
13208Particular Topics in Welding
13209Particular Topics in Metalwork
13247Metalwork—Independent Study
13248Metalwork—Workplace Experience
13249Metalwork—Other
13301Appliance Repair
13302Equipment Maintenance and Repair
13347Repair—Independent Study
13348Repair—Workplace Experience
13349Repair—Other
13995Manufacturing—Aide
13997Manufacturing—Independent Study
13998Manufacturing—Workplace Experience
13999Manufacturing—Other
14001Exploration of Health Care Occupations
14002Health Care Occupations—Comprehensive
14051Nursing
14052Nursing—LPN
14053Home Health Care
14054Dental Science
14055Emergency Medical Technology
14056Surgical Technology
14057Vision Care
14058Optometrics
14059Gerontology
14060Physical Therapy
14061Respiratory Therapy
14062Care of Athletes
14063Particular Topics in Therapeutic Services
14097Therapeutic Services—Independent Study
14098Therapeutic Services—Workplace Experience
14099Therapeutic Services—Other
14101Dental Laboratory Technology
14102Medical Lab Technology
14103EKG Technology
14104Phlebotomy
14105Particular Topics in Diagnostic Services
14147Diagnostic Services—Independent Study
14148Diagnostic Services—Workplace Experience
14149Diagnostic Services—Other
14151Medical/Clerical Assisting
14152Pharmacy Assisting
14153Medical Office Procedures
14154Medical Terminology
14155Particular Topics in Health Information
14197Health Information—Independent Study
14198Health Information—Workplace Experience
14199Health Information—Other
14201Central Service Technology
14202Health Support Services
14203Health Unit Coordination
14204Particular Topics in Support Services
14247Health Support Services—Independent Study
14248Health Support Services—Workplace Experience
14249Health Support Services—Other
14251Health Science
14252Biotechnology
14253Pharmacology
14254Particular Topics in Health Sciences
14297Health Sciences—Independent Study
14298Health Sciences—Workplace Experience
14299Health Sciences—Other
14995Health Care Sciences—Aide
14997Health Care Sciences—Independent Study
14998Health Care Sciences—Workplace Experience
14999Health Care Sciences—Other
15001Exploration of Public Service Careers
15051Criminal Justice
15052Corrections
15053Particular Topics in Law Enforcement
15097Law Enforcement—Independent Study
15098Law Enforcement—Workplace Experience
15099Law Enforcement—Other
15101Public Safety
15102Security Services
15103Particular Topics in Security
15147Security and Protection—Independent Study
15148Security and Protection—Workplace Experience
15149Security and Protection—Other
15151Fire Science
15152Fire Fighting
15153Particular Topics in Fire Management
15197Fire Management—Independent Study
15198Fire Management—Workplace Experience
15199Fire Management—Other
15201Public Administration
15202Community Protection
15203Public Policy
15247Government Service—Independent Study
15248Government Service—Workplace Experience
15249Government Service—Other
15995Public, Protective, and Government Service—Aide
15997Public, Protective, and Government Service—Independent Study
15998Public, Protective, and Government Service—Workplace Experience
15999Public, Protective, and Government Service—Other
16001Exploration of Hospitality Careers
16051Exploration of Restaurant, Food and Beverage Services
16052Restaurant, Food and Beverage Services—Comprehensive
16053Food Service
16054Nutrition and Food Preparation
16055Restaurant Management and Operations
16056Culinary Art Specialty
16057Particular Topics in Restaurant, Food and Beverage Services
16097Restaurant, Food and Beverage Services—Independent Study
16098Restaurant, Food and Beverage Services—Workplace Experience
16099Restaurant, Food and Beverage Services—Other
16101Exploration of Lodging Careers
16102Lodging—Comprehensive
16103Institutional Maintenance
16104Particular Topics in Lodging
16147Lodging—Independent Study
16148Lodging—Workplace Experience
16149Lodging—Other
16151Introduction to Travel and Tourism
16152Travel and Tourism—Comprehensive
16153World Travel and Tourism
16154Eco-tourism
16155Particular Topics in Travel and Tourism
16197Travel and Tourism—Independent Study
16198Travel and Tourism—Workplace Experience
16199Travel and Tourism—Other
16201Exploration of Recreation, Amusement and Attractions
16202Recreation, Amusement and Attractions—Comprehensive
16203Particular Topics in Recreation, Amusement and Attractions
16247Recreation, Amusement and Attractions—Independent Study
16248Recreation, Amusement and Attractions—Workplace Experience
16249Recreation, Amusement and Attractions—Other
16995Hospitality and Tourism—Aide
16997Hospitality and Tourism—Independent Study
16998Hospitality and Tourism—Workplace Experience
16999Hospitality and Tourism—Other
17001Construction Careers Exploration
17002Construction—Comprehensive
17003Carpentry
17004Framing Carpentry
17005Particular Topics in Carpentry
17006Woodworking
17007Cabinetmaking
17008Masonry
17009Building Maintenance
17010Home Maintenance
17011Wall Finishings
17012Upholstering
17047General Construction—Independent Study
17048General Construction—Workplace Experience
17049General Construction—Other
17051Air Conditioning
17053Heating
17054Air Conditioning/Refrigeration
17055Air Conditioning, Heating, and Refrigeration
17056Heating, Ventilation, and Air Conditioning
17057Particular Topics in HVACR
17097Air Conditioning, Heating and Plumbing—Independent Study
17098Air Conditioning, Heating and Plumbing—Workplace Experience
17099Air Conditioning, Heating and Plumbing—Other
17101Exploration of Electricity/Electronics
17102Electricity—Comprehensive
17103Residential Wiring
17104Industrial Electricity
17105Particular Topics in Electricity
17106Electronics—Comprehensive
17107Particular Topics in Electronics
17108Electricity/Electronics—General
17109Particular Topics in Electricity/Electronics
17110Analog and Digital Circuits
17111Analog Circuits
17112Digital Circuits
17147Electricity/Electronics—Independent Study
17148Electricity/Electronics—Workplace Experience
17149Electricity/Electronics—Other
17152Refrigeration
17158Plumbing
17159Plumbing and Heating
17995Architecture and Construction—Aide
17997Architecture and Construction—Independent study
17998Architecture and Construction—Workplace Experience
17999Architecture and Construction—Other
18001Introduction to Agriculture and Natural Resources
18002Agriculture—Comprehensive
18003Agriculture and Natural Resources—Comprehensive
18051Plant Production/Science
18052General Horticulture
18053Ornamental Horticulture
18054Turf and Landscape Management
18055Soil Science
18056Particular Topics in Plant Systems
18097Plant Systems—Independent Study
18098Plant Systems—Workplace Experience
18099Plant Systems—Other
18101Animal Production/Science
18102Small Animal Care
18103Large Animal Care
18104Equine Science
18105Veterinary Science
18106Particular Topics in Animal Systems
18147Animal Systems—Independent Study
18148Animal Systems—Workplace Experience
18149Animal Systems—Other
18201Agribusiness Management
18202Agricultural Entrepreneurship
18203Agricultural Leadership
18204Particular Topics in Agribusiness
18247Agribusiness—Independent Study
18248Agribusiness—Workplace Experience
18249Agribusiness—Other
18301Agricultural Production
18302Agricultural Processing
18303Plant Processing
18304Animal Processing
18305Food Product Processing
18306Aquaculture
18307Agriculture and Society
18308Agricultural Biotechnology
18309Particular Topics in Agricultural Production/Processing
18347Agricultural Production and Processing—Independent Study
18348Agricultural Production and Processing—Workplace Experience
18349Agricultural Production and Processing—Other
18401Agriculture Mechanics/Equipment/Structures
18402Agriculture Mechanics and Equipment
18403Agriculture Structures
18404Agriculture Welding
18405Particular Topics in Agricultural Mechanics and Construction
18447Agricultural Mechanics and Construction—Independent Study
18448Agricultural Mechanics and Construction—Workplace Experience
18449Agricultural Mechanics and Construction—Other
18501Wildlife Management
18502Forestry
18503Forestry Harvesting
18504Natural Resources Management
18505Particular Topics in Natural Resources
18547Natural Resources—Independent Study
18548Natural Resources—Workplace Experience
18549Natural Resources—Other
18995Agriculture, Food, and Natural Resources—Aide
18997Agriculture, Food, and Natural Resources—Independent Study
18998Agriculture, Food, and Natural Resources—Workplace Experience
18999Agriculture, Food, and Natural Resources—Other
19001Human Services Career Exploration
19051Child Care
19052Child Development
19053Elder Care
19054Caregiving Service
19055Particular Topics in Child and Elder Care
19097Child and Elder Care—Independent Study
19098Child and Elder Care—Workplace Experience
19099Child and Elder Care—Other
19101Cosmetology—Licensing
19102Barbering
19103Hair Styling
19104Cosmetology—Non-licensing
19105Cosmetology—Nail Specialization
19106Cosmetology—Facial Specialization
19107Particular Topics in Cosmetology
19147Cosmetology—Independent Study
19148Cosmetology—Workplace Experience
19149Cosmetology—Other
19151Teaching Profession
19152Educational Methodology
19153Early Childhood Education
19154Particular Topics in Education
19197Education—Independent Study
19198Education—Workplace Experience
19199Education—Other
19201Clothing and Textiles
19202Clothing/Textile Maintenance
19203Apparel Construction
19204Apparel and Textile Services
19205Home Furnishing
19206Home Furnishings Production
19207Particular Topics in Apparel and Furnishings
19247Apparel and Furnishings—Independent Study
19248Apparel and Furnishings—Workplace Experience
19249Apparel and Furnishings—Other
19995Human Services—Aide
19997Human Services—Independent Study
19998Human Services—Workplace Experience
19999Human Services—Other
20001Exploration of Transportation, Distribution and Logistics
20051Truck and Bus Driving
20052Heavy Equipment Operation
20053Aviation
20054Boat Operation
20097Operation—Independent Study
20098Operation—Workplace Experience
20099Operation—Other
20101Energy/Power
20102Power and Mechanics
20103Introduction to Automobiles
20104Automotive Mechanics—Comprehensive
20105Particular Topics in Automotive Mechanics
20106Automotive Service
20107Diesel Mechanics—Comprehensive
20108Particular Topics in Diesel Mechanics
20109Small Vehicle Mechanics
20110Small Engine Mechanics
20111Marine Mechanics
20112Heavy Equipment Mechanics
20113Aircraft Power Plant
20114Aircraft Airframe
20115Automotive Detailing and Reconditioning
20116Automotive Body Repair and Refinishing—Comprehensive
20117Particular Topics in Automotive Body Repair and Refinishing
20118Boat Repair/Refinishing
20147Mechanics and Repair—Independent Study
20148Mechanics and Repair—Workplace Experience
20149Mechanics and Repair—Other
20151Distribution—Comprehensive
20152Warehouse Operations
20197Distribution and Logistics—Independent Study
20198Distribution and Logistics—Workplace Experience
20199Distribution and Logistics—Other
20995Transportation, Distribution and Logistics—Aide
20997Transportation, Distribution and Logistics—Independent Study
20998Transportation, Distribution and Logistics—Workplace Experience
20999Transportation, Distribution and Logistics—Other
21001Pre-Engineering Technology
21002Engineering Applications
21003Engineering Technology
21004Principles of Engineering
21005Engineering—Comprehensive
21006Engineering Design
21007Engineering Design and Development
21008Digital Electronics
21009Robotics
21010Computer Integrated Manufacturing
21011Civil Engineering
21012Civil Engineering and Architecture
21013Aerospace Engineering
21014Biotechnical Engineering
21015Particular Topics in Engineering
21047Engineering—Independent Study
21048Engineering—Workplace Experience
21049Engineering—Other
21051Technological Literacy
21052Technological Processes
21053Emerging Technologies
21054Technology Innovation and Assessment
21055Aerospace Technology
21056Particular Topics in Technology Applications
21097Technology—Independent Study
21098Technology—Workplace Experience
21099Technology—Other
21101Drafting Careers Exploration
21102Drafting—General
21103Drafting—Architectural
21104Drafting—Civil/Structural
21105Drafting—Electrical/Electronic
21106Drafting—Technical/Mechanical
21107CAD Design and Software
21108Blueprint Reading
21147Drafting—Independent Study
21148Drafting—Workplace Experience
21149Drafting—Other
21995Engineering and Technology—Aide
21997Engineering and Technology—Independent Study
21998Engineering and Technology—Workplace Experience
21999Engineering and Technology—Other
22001Standardized Test Preparation
22002State Test Preparation
22003Study Skills
22004Dropout Prevention Program
22005Tutorial
22006Study Hall
22051Office Aide
22052Guidance Aide
22053Library/AVC Aide
22054Tutoring Practicum
22101Leadership
22102School Orientation
22103School Governance
22104Community Service
22105Values Clarification
22106Seminar
22151Career Exploration
22152Employability Skills
22153Diversified Occupations
22201Family and Consumer Science—Comprehensive
22202Food and Nutrition
22203Food Science
22204Child Development/Parenting
22205Clothing/Sewing
22206Life Skills
22207Self Management
22208Family Living
22209Personal Development
22210Consumer Economics/Personal Finance
22211Home Décor
22245Family and Consumer Science—Aide
22247Family and Consumer Science—Independent Study
22249Family and Consumer Science—Other
22995Miscellaneous—Aide
22997Miscellaneous—Independent Study
22998Miscellaneous—Workplace Experience
22999Miscellaneous—Other

Non-secondary Courses

51English Language and Literature
52Mathematics
53Life and Physical Sciences
54Social Sciences and History
55Fine and Performing Arts
56Foreign Language and Literature
57Religious Education and Theology
58Physical, Health, and Safety Education
59Military Science
60Computer and Information Sciences
61Communication and Audio/Visual Technology
62Business and Marketing
63Manufacturing
64Health Care Sciences
65Public, Protective, and Government Service
66Hospitality and Tourism
67Architecture and Construction
68Agriculture, Food, and Natural Resources
69Human Services
70Transportation, Distribution and Logistics
71Engineering and Technology
72Miscellaneous

Secondary Courses

01English Language and Literature
02Mathematics
03Life and Physical Sciences
04Social Sciences and History
05Fine and Performing Arts
06Foreign Language and Literature
07Religious Education and Theology
08Physical, Health, and Safety Education
09Military Science
10Computer and Information Sciences
11Communication and Audio/Visual Technology
12Business and Marketing
13Manufacturing
14Health Care Sciences
15Public, Protective, and Government Service
16Hospitality and Tourism
17Architecture and Construction
18Agriculture, Food, and Natural Resources
19Human Services
20Transportation, Distribution and Logistics
21Engineering and Technology
22Miscellaneous

United States Department of Agriculture (USDA)

Food Category Name File [CNDB]

1Dairy: butter, cheese, eggs, milk, yogurt
2Spices, seasonings, flavorings, leavening agents
3Babyfood
4Fats and oils: margarine, shortening, mayonnaise, salad dressings
5Poultry Products
6Soups, sauces and gravies
7Luncheon meat and sausage
8Breakfast Cereals
9Fruits and fruit juices
10Pork Products
11Vegetables (includes beans and legumes)
12Nuts and seeds
13Beef
14Beverages
15Fish
16Condiments: catsup, mustard, relish
17Lamb, Veal and Game Products
18Baked goods: breads, cakes, cookies, crackers, pies, rolls
19Sweets
20Grains
21Fast Foods
22Meals, Entrees, and Sidedishes
25Snacks
29Miscellaneous
30General recipes
31Bread and cereal recipes
32Dessert recipes
33Main dish recipes
34Salad and dressing recipes
35Sandwich recipes
36Sauce and gravy recipes
37Soup recipes
38Vegetable recipes
39Breakfast recipes
43Purchased mixed dishes—lunch entrees/main dishes (pizza, etc)
44Purchased mixed dishes—breakfast entrees/main dishes
45Meat substitutes/Vegetable proteins

United States Postal Service

Abbreviations [USPS]

AAArmed Forces Americas (except Canada)
AEArmed Forces Africa, Canada, Europe and Middle East
AKALASKA
ALALABAMA
APArmed Forces Pacific
ARARKANSAS
ASAMERICAN SAMOA
AZARIZONA
CACALIFORNIA
COCOLORADO
CTCONNECTICUT
DCDISTRICT OF COLUMBIA
DEDELAWARE
FLFLORIDA
FMFEDERATED STATES OF MICRONESIA
GAGEORGIA
GUGUAM
HIHAWAII
IAIOWA
IDIDAHO
ILILLINOIS
ININDIANA
KSKANSAS
KYKENTUCKY
LALOUISIANA
MAMASSACHUSETTS
MDMARYLAND
MEMAINE
MHMARSHALL ISLANDS
MIMICHIGAN
MNMINNESOTA
MOMISSOURI
MPNORTHERN MARIANA ISLANDS
MSMISSISSIPPI
MTMONTANA
NCNORTH CAROLINA
NDNORTH DAKOTA
NENEBRASKA
NHNEW HAMPSHIRE
NJNEW JERSEY
NMNEW MEXICO
NVNEVADA
NYNEW YORK
OHOHIO
OKOKLAHOMA
OROREGON
PAPENNSYLVANIA
PRPUERTO RICO
PWPALAU
RIRHODE ISLAND
SCSOUTH CAROLINA
SDSOUTH DAKOTA
TNTENNESSEE
TXTEXAS
UTUTAH
VAVIRGINIA
VIVIRGIN ISLANDS
VTVERMONT
WAWASHINGTON
WIWISCONSIN
WVWEST VIRGINIA
WYWYOMING

Appendix D: Notes on Related Technologies

This partially normative appendix highlights technologies leveraged within SIF or related to SIF, either in their entirety or as a subset. It points out specifics casual readers of referenced documents on these technologies must not ignore when implementing SIF Zone Integration Servers and Agents.

D.1 SIF and HTTP(S)

SIF uses a small subset of HTTP 1.1 (SIF HTTP), as defined in Infrastructure Transport Layer , to promote interoperability. This section also defines a secure transport for SIF HTTP, SIF HTTPS, the required and default transport layer for use in SIF.

D.2 SIF and URLs

Zone Integration Servers and Push-mode Agents, when using SIF HTTPS or SIF HTTP, are addressable by an http or https Uniform Resource Locator (URL). As far as HTTP is concerned, these are simply formatted strings; no assumptions should be made about their format (e.g. that all ZIS URLs consist of a host, port and Zone ID, or that all agent URLs consist of a host, port and Agent ID) beyond the http and https schemes and the consituent parts from the generic URI (Uniform Resource Identifier) syntax [RFC 2396].

http://host[:port][abs_path[?query]]
http://host[:port][abs_path[?query]]

Just because one Zone Integration Server seems to follow a certain convention with regard to its URLs, e.g.:

http://www.YourZIS.com/YourZone

does not imply another Zone Integration Server will not have a completely different format for a URL, for instance:

http://www.ZISesAreUs.com:8080/applications/ZIS;version=2.3.1?zone=ZoneA&cust=2A9823B2

or that a vendor's product might not change its URL conventions.

The same applies to URLs that address Push-mode Agents; conventions for URLs, within the general formatting that applies to URLs, can and do vary widely.

Zone Integration Servers and Agents MUST treat SIF HTTPS and SIF HTTP URLs as whole strings, whose only format rules stem from associated standards. This promotes interoperability as Zone administrators deploy Zone Integration Servers and Agents with different Zone configurations and products from different vendors.

D.3 SIF and XML

With its use in both Infrastructure and the SIF Data Model, SIF is greatly dependent on the structure and syntax of XML 1.0 [XML]. SIF excludes the use of the doctypedecl syntax from the optional prolog with which every XML document may begin. This implies that Zone Integration Servers and Agents MUST NOT reference an external DTD or internal DTD subset using the doctypedecl production (e.g. <!DOCTYPE SIF_Message ... !>).

This should not be construed to imply that the rest of the XML prolog may not preface a SIF message, even though it never occurs in examples within this specification, being superfluous within SIF. As SIF mandates the use of XML 1.0, the character encoding of UTF-8 (contained in the HTTP Content-Type header), and all SIF messages are standalone due to the exclusion of doctypedecl above, the values that can be communicated in the XML prolog are fixed within SIF. This implies that if a Zone Integration Server or Agent includes an XML prolog before a SIF message, it MUST take one of the following or equivalent forms (equivalent including case-insensitive character encoding names, XML's choice with regard to single or double quotes and optional spacing):

<?xml version="1.0"?>
<?xml version="1.0" encoding="UTF-8"?>
<?xml version="1.0" standalone="yes"?>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

D.4 SIF and Unicode

The character set supported in XML 1.0 is Unicode/ISO 10646, a character set designed to be universal in nature with regard to its support for previously used character sets in the computer industry, ability to represent most human languages, numbers, commonly used symbols, etc. Thus the character set supported in SIF is Unicode/ISO 10646. If a Zone Integration Server or SIF-enabled application does not support Unicode/ISO 10646 internally, it MUST map Unicode/ISO 10646 to its local character set upon receipt of a SIF message and MUST map its local character set to Unicode/ISO 10646 when sending or responding to a SIF message. To promote interoperability and prevent loss of data in these conversions, it is RECOMMENDED that all Zone Integration Servers and SIF-enabled applications support Unicode/ISO 10646.

SIF HTTP further requires that the Unicode/ISO 10646 character set be encoded using the UTF-8 character encoding; Zone Integration Servers and Agents MUST encode SIF XML messages using UTF-8. To further promote interoperability, when the SIF Infrastructure or Data Model specifies that an octet/byte-based transformation of a text/string value be stored in a given element or attribute (e.g. Base64 encoding, hash value, encrypted form), Zone Integration Servers and Agents MUST convert the local character set of the value to Unicode/ISO 10646 if necessary, encode the resulting value using UTF-8, then apply the specified transformation.

D.5 SIF and XPath

SIF uses a small subset of XPath 1.0 [XPATH] in its own path syntax for referencing elements/attributes. This is defined in SIF_Element Syntax. This document may often use the same notation in referring to nested elements and/or attributes (e.g. Name/FirstName, Name/@Type), though it may include an object as the root element whereas the SIF_Element syntax does not (e.g. StudentPersonal/Name/FirstName, StudentPersonal/@RefId).

D.6 SIF and XML Schema

The SIF Association hosts and provides XML Schemas [SCHEMA] for validating SIF messages, should Zone Integration Servers or Agents choose to perform message validation. These schemas leverage basic data types and structures as defined in that document. When these types and structures are referenced in this document they are prefixed with xs:.

Note that due to the ability of Zone Integration Servers and Agents to omit elements from data objects in the SIF Request/Response and SIF Event models, all elements defined as mandatory for SIF data objects in Infrastructure or Data Model and referenced common elements are defined as optional in the schema for validating any SIF_Message. The SIF Association hosts and provides alternate schemas that allow for validation of these data objects where mandatory elements cannot be omitted (e.g. in a Add event or in a SIF_Response where the SIF_Request did not specify a specific subset of elements to be returned from matching objects).

Notes on specific XML Schema types follow:

D.6.1 xs:boolean

Agents and Zone Integration servers SHOULD send values of true or false, but must understand equivalent 1 and 0 values.

D.6.2 xs:time

Agents and Zone Integration Servers MUST specify a time zone offset from UTC or indicate that the time is UTC unless the time zone is apparent locally from other elements/attributes per supplied documentation.

D.6.3 xs:date

Agents and Zone Integration Servers MAY specify a time zone offset or indicate UTC for dates, but in most cases do not need to do so unless zone activity spans great international distances.

D.6.4 xs:dateTime

Agents and Zone Integration Servers MUST specify a time zone offset from UTC or indicate that the time is UTC unless the time zone is apparent locally from other elements/attributes per supplied documentation.

Though use of a combined xs:dateTime may seem a natural fit for specifying a point in time, some SIF Association working groups and task forces prefer to separate xs:dateTime into element/attribute pairs of xs:date and xs:time per their object design/usage goals and/or for simplified quering. Applications wishing to query the date or time portion of xs:dateTime values may use comparison and boolean operators to do so.

D.7 SIF and XML Namespaces

Namespaces allow XML elements and attributes to be organized into units that allow for the separation of a set of names from others, effectively allowing the integration of XML defined from various sources to be included in the same XML document without risk of name/definition collisions. SIF has since its initial release used the default namespace attribute xmlns [XMLNS] in the SIF_Message element. To a namespace-aware parser, the effective names of the elements in:

<SIF_Message Version="1.5r1" xmlns="http://www.sifinfo.org/infrastructure/1.x"> <SIF_Event>...</SIF_Event> </SIF_Message>
Example D.7-1: SIF_Message Namespace

are conceptually:

with the local names:

To a namespace-aware parser, the effective names of these same elements in the SIF 2.x namespace:

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Event>...</SIF_Event> </SIF_Message>
Example D.7-2: SIF_Message Namespace

are conceptually:

with the local names:

A namespace-unaware parser simply interprets elements by their local names, and SIF 1.x and SIF 2.x elements are considered equivalent. If the local name is prefixed, a namespace-unaware parser considers the prefix and colon part of the name. To a namespace-unaware parser, xml:lang is named just that. To a namespace-aware parser, this is effectively http://www.w3.org/XML/1998/namespace:lang (the xml prefix is reserved in XML 1.0 and is always bound to this namespace in [XMLNS]) with a local name of lang.

Given the timing of the first release of SIF and the release of Namespaces in XML [XMLNS] it was never mandated in SIF that Zone Integration Servers and Agents be namespace-aware. Given the number of Zone Integration Servers and Agents that may at this point be namespace-unaware, it is not yet mandated that these components be namespace-aware, but this requirement may arise in a future major release of this specification. To allow for namespace-unaware parsers to reliably process SIF-defined XML by local names only, SIF messages MUST define the namespace for the corresponding SIF version as the default namespace of SIF_Message as documented in SIF_Message.

Furthermore, given the gradual proliferation of XML defined in other namespaces appearing in SIF XML, the following prefix-to-namespace mappings MUST be used should elements from these namespaces occur in SIF messages, to allow namespace-unaware parsers to reliably interpret names in these namespaces by local name:

PrefixNamespaceDeclaration
xmlhttp://www.w3.org/XML/1998/namespaceThis is bound and fixed by default without declaration.
xsihttp://www.w3.org/2001/XMLSchema-instancexmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xshttp://www.w3.org/2001/XMLSchemaxmlns:xs="http://www.w3.org/2001/XMLSchema"

It is RECOMMENDED that other namespaces occuring in SIF messages (e.g. XML from outside SIF included in assessments, exchange of student records, etc.) have fixed prefix mappings, but it is not required. Affected elements MAY locally change the default namespace as desired, given that the default namespace for the SIF_Message as a whole remains the namespace for the corresponding SIF version.

When a fixed prefix is not defined for a given namespace, a namespace-unaware agent will be unable to reliably process these elements by name when prefixes vary, and must become namespace-aware to do so. XML not defined by SIF that in turn contains SIF-defined XML MAY reference SIF XML by its own prefix mapping rather than specifying the namespace of the corresponding SIF version as the default namespace using xmlns.

It is RECOMMENDED that as Zone Integration Servers and Agents are updated in their release schedules, they use namespace-aware parsers or parser options if they are not doing so already.

D.8 SIF and UUIDs/GUIDs

SIF leverages Universally Unique Identifiers (UUIDs), or Globally Unique Identifiers (GUIDs), as message and object identifiers, or primary keys, and occasionally for element identifiers internal to objects, per [RFC 4122]. Note that SIF defines its own textual representation for GUIDs, uppercase and un-hyphenated (e.g. F81D4FAE7DEC11D0A76500A0C91E6BF6 vs. f81d4fae-7dec-11d0-a765-00a0c91e6bf6). It should also be noted with SIF being a distributed system, to avoid the possibility of GUID collisions, especially in the SIF data model, systems generating GUIDs SHOULD use version 1 GUIDs which are unique in space as well as time when an IEEE 802 MAC address is available. Systems MAY use version 4 GUIDs which use a (pseudo-)random number-based algorithm if an IEEE 802 MAC address is unavailable or if the inclusion of that address in a GUID poses a compromising security risk.

D.9 SIF and Web Services

SIF is a web service, "a software system designed to support interoperable machine-to-machine interaction over a network [WSARCH]." It is not a Web Service, as it lacks "an interface described in a machine-processable format (specifically WSDL) [WSARCH]." To meet this requirement and produce the Web Services Definition Language (WSDL) definition for SIF is a trivial exercise, creating a WSDL HTTP POST binding for the SIF_Message-in/SIF_Message-out exchange that describes the SIF HTTP(S) transport layer between Agents and ZIS, and between ZIS and Push-mode Agents. But the binding would be just that, a simple SIF_Message-in/SIF_Message-out exchange that doesn't capture the richness of the SIF infrastructure or necessarily provide the interoperability resulting from the precise definition of SIF HTTP(S). To do so and to meet the final requirement of a Web Service per [WSARCH], the use of SOAP messages, would require redefinition of much of SIF using SOAP messages. The SIF Association's Web Services Task Force has determined that this exercise has little value currently, given SIF's precisely defined transport layer and installed base. The task force has left it as a future task how to best leverage Web Services in the future of SIF's infrastructure, if at all. In the meantime, the task force has, however, decided to provide a Web Services interface that provides external systems access to the rich amount of data available in SIF Zones via its own specification [SIF Reporting WS]. Future opportunities to provide additional services may be identified.

Appendix E: Wildcard Version Support Implementation Notes

Agents that register the ability to receive SIF_Messages defined by any number of different SIF Implementation Specification versions by using version wildcards in SIF_Register/SIF_Version and SIF_Request/SIF_Version may receive messages defined by specification versions that did not exist at the time of agent implementation. This support can maximize agent communication in zones supporting multiple SIF versions; agent developers that design this support should be aware of the following implementation notes. These notes focus on wildcard support for releases within a given major release lifecycle and do not address agents that register support for *, indicating the ability to receive ANY version SIF_Message. These messages can be very different structurally across major version boundaries and an agent may require more sophisticated capabilities to successfully process any SIF_Message, regardless of the SIF version that defines it.

E.1 XML Parsing

The message handling protocols documented in this specification are written from the perspective of having a well-formed and—optionally—valid XML document and the ability to randomly access element and attribute values within the document in performing the message handling steps as documented. While some agent implementations have this ability, there do exist agent implementations that may process SIF XML using a streaming interface (e.g. SAX), processing an XML document node by node, to perform equivalent functionality. When these agents declare the ability to receive a SIF_Message defined by any minor release within a major release lifecycle, they cannot assume in processing a message that one element follows another without any intervening elements, as new minor releases of this specification can introduce optional elements into the SIF Data Model. An agent written at the time of SIF Implementation Specification 1.1 to support 1.* and to expect OtherId to follow AlertMsg might encounter difficulties with processing a 1.5r1  StudentPersonal if it were not designed to ignore new intervening 1.5r1 elements before OtherId unknown at the time of implementation, including LocalId, as shown here, not to mention StatePrId and ElectronicId, which were also both introduced in SIF Implementation Specification 1.5r1.

<StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <AlertMsg Type="Legal">A legal alert for Joe Student.</AlertMsg> <OtherId Type="06">P00001</OtherId> <Name Type="04"> <LastName>Student</LastName> <FirstName>Joe</FirstName> </Name> </StudentPersonal>
Example E.1-1: StudentPersonal from SIF Implementation Specification 1.1
<StudentPersonal RefId="D3E34B359D75101A8C3D00AA001A1652"> <AlertMsg Type="Legal">A legal alert for Joe Student.</AlertMsg> <LocalId>P00001</LocalId> <OtherId Type="06">P00001</OtherId> <Name Type="04"> <LastName>Student</LastName> <FirstName>Joe</FirstName> </Name> </StudentPersonal>
Example E.1-2: StudentPersonal from SIF Implementation Specification 1.5r1

Agents that parse XML on a node-by-node basis and that wish to support wildcard versions must be able to read and skip XML elements not of interest until an expected element of interest is reached.

E.2 XML Validation

Though minor releases within a major version lifecycle of this specification are designed to be supersets of previous minor releases, agents supporting wildcard versions and performing XML validation should take into consideration that messages from a higher minor version in a major version lifecycle will not validate against schemas designed for a lower version, given the potential introduction of new objects, and new optional elements into existing data objects. Agents that do perform XML validation should skip validation of received SIF_Messages that are defined by a higher version, unless they have dynamic Internet access to hosted schemas where SIF_Message/@Version can be used to access schemas for new specification releases. These agents can, of course, still establish that received SIF_Message XML is well-formed and process that XML to access elements/attributes of interest to the agent implementation.

While SIF_Messages defined by lower minor versions in a major version lifecyle may validate against a higher-version schema in that lifecycle, it is recommended also that higher-version agents skip XML validation of lower-version SIF_Messages unless they have local access to schemas corresponding to the version in question, in which case the appropriate schema should be used for validation, or unless they have dynamic Internet access to hosted schemas where SIF_Message/@Version can be used to access schemas for other specification releases. This recommendation is made particularly because external code sets may be brought up to date with external sources with each release of this specification and a previously valid code set value may become invalid in a new specification.

Note that schemas hosted by the SIF Association are available at well-known URLs and can be used to dynamically access schemas for older/newer specification versions using SIF_Message/@Version, should agents with Internet access require them for XML validation:

http://www.sifinfo.org/infrastructure/<value of SIF_Message/@Version>/DTD/SIF_Message.dtd (for SIF 1.x—XSD/SIF_Message.xsd also available)
http://specification.sifinfo.org/Implementation/<value of SIF_Message/@Version>/XSD/SIF_Message.xsd (for SIF 2.x)

E.3 SIF_Message Handling

While this is defined in the SIF_Message Agent Message Handling Protocol, it bears repeating in this section that agents receiving an unexpected message from the ZIS respond according to protocol, acknowledging receipt of the message with a SIF_Ack including the SIF_Error element with a SIF_Category of 12 (Generic Message Handling) and a SIF_Code of 2 (message not supported). This allows an agent with wildcard version support to successfully ignore SIF_Messages that may be introduced with the addition of optional infrastructure functionality into new minor releases of this specification, including new SIF_SystemControl messages.

Appendix F: Selective Message Blocking (SMB) Example

F.1 Example

A detailed example of Selective Message Blocking (SMB) follows. The table below represents the agent's message queue as maintained by the ZIS. The message at the top represents the oldest message in the queue and is the message that is currently being processed by the agent as the example begins.

Agent Message Queue
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add.
SIF_Event message containing a StudentPersonal object with an Action of Add.
SIF_Request message for a StudentPersonal object from another agent.
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add.
Table F.1-1: Agent Message Queue - Example 1

When processing the StudentSchoolEnrollment event, the agent requires data from a SchoolInfo object that it doesn't have locally. It would like to request the SchoolInfo object without needing to process subsequent events. To do so, the agent acknowledges the StudentSchoolEnrollment event with an "Intermediate" SIF_Ack indicating that the ZIS will be contacted later to resume delivery of events. It then opens a channel to the ZIS and submits a SIF_Request for the SchoolInfo object.

Upon receipt of the "Intermediate" SIF_Ack, the ZIS freezes the delivery of any SIF_Event messages to this agent until the agent sends a final SIF_Ack releasing the original event. The current state of the queue is now:

Agent Message Queue
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add. (blocked)
SIF_Event message containing a StudentPersonal object with an Action of Add. (frozen)
SIF_Request message for a StudentPersonal object from another agent.
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add. (frozen)
Table F.1-2: Agent Message Queue - Example 2

The next message available for delivery to the agent is the SIF_Request for a StudentPersonal object. For our example, the agent will accept the SIF_Request by returning an "Immediate" SIF_Ack indicating that processing is complete and the agent will hand the SIF_Request off to another part of the agent for handling.

Meanwhile, the ZIS has deposited the SIF_Response from the SchoolInfo provider's agent into the queue. The queue now looks like this:

Agent Message Queue
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add. (blocked)
SIF_Event message containing a StudentPersonal object with an Action of Add. (frozen)
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add. (frozen)
SIF_Response message containing the SchoolInfo object previously requested.
Table F.1-3: Agent Message Queue - Example 3

The next message the agent receives is the SIF_Response. The agent takes the SIF_Response and uses the information from it along with the data in the original StudentSchoolEnrollment event to update its database. The agent returns (Pull-Mode) or sends (Push-Mode) an "Immediate" SIF_Ack telling the ZIS to discard the SIF_Response message.

The agent has now completed processing of the StudentSchoolEnrollment event and opens a channel to the ZIS and sends a "Final" SIF_Ack with the message identifier for the StudentSchoolEnrollment event. The SIF_Ack says that the agent has completed processing and the ZIS removes the event from the agent queue. The freeze on SIF_Event messages is lifted and the next message to be sent to the agent is the SIF_Event for a StudentPersonal Add:

Agent Message Queue
SIF_Event message containing a StudentPersonal object with an Action of Add.
SIF_Event message containing a StudentSchoolEnrollment object with an Action of Add.
Table F.1-4: Agent Message Queue - Example 4
"Immediate" SIF_Ack

The "Immediate" SIF_Ack is a SIF_Ack message with status code of 1. This type of SIF_Ack is returned as a response to a message sent by the ZIS and indicates that the agent has persisted or has processed the message and the ZIS must remove the message from its queue.

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>ABCD10580EF250789012AC0554321EA2</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>10580EF2ABCD50789012AC05EA6C71B3</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>1</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example F.1-1: "Immediate" SIF_Ack
"Intermediate" SIF_Ack

The "Intermediate" SIF_Ack is a SIF_Ack message with status code of 2. This type of SIF_Ack is returned as a response to an event message delivered by the ZIS and indicates that the agent has not completed processing of the event and the ZIS must not remove the event message from its queue. The agent will send a "Final" SIF_Ack to the ZIS in the future to signal that the ZIS can discard the event message. An "Intermediate" SIF_Ack message must not be returned by agents in response to messages other than SIF_Event.

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>ABCD10580EF250789012AC0554321EA3</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>10580EF2ABCD50789012AC05EA6C71B3</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>2</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example F.1-2: "Intermediate" SIF_Ack
"Final" SIF_Ack

A "Final" SIF_Ack is a message with status code of 3. The agent sends this type of SIF_Ack to the ZIS after the agent has completely processed a SIF_Event where it previously sent an "Intermediate" SIF_Ack. When the ZIS receives this message, it must discard the SIF_Event message referenced in the SIF_Ack upon successfully acknowledging the "Final" SIF_Ack.

<SIF_Message Version="2.3" xmlns="http://www.sifinfo.org/infrastructure/2.x"> <SIF_Ack> <SIF_Header> <SIF_MsgId>ABCD10580EF250789012AC0554321EA4</SIF_MsgId> <SIF_Timestamp>2006-02-18T08:39:40-08:00</SIF_Timestamp> <SIF_SourceId>RamseyLIB</SIF_SourceId> </SIF_Header> <SIF_OriginalSourceId>RamseySIS</SIF_OriginalSourceId> <SIF_OriginalMsgId>10580EF2ABCD50789012AC05EA6C71B3</SIF_OriginalMsgId> <SIF_Status> <SIF_Code>3</SIF_Code> </SIF_Status> </SIF_Ack> </SIF_Message>
Example F.1-3: "Final" SIF_Ack

Appendix G: Background/Supplementary Documentation (non-normative)

This appendix supplies background/supplementary documentation from working groups and task forces for interested readers, including but not limited to object plans, business/use cases, test plans, test results, background and best practice documentation. Last modified dates are included in parentheses.

Appendix H: Index of Tables

Table 3.3.5.1‑1Register
Table 3.3.5.1‑2Virtual Table Example (Register)
Table 3.3.5.1‑3Access Control
Table 3.3.5.1‑4Virtual Table Example (Access Control)
Table 3.3.6.3.4‑1Key Lengths
Table 3.3.7.1.2‑1HTTP Request Headers
Table 3.3.7.1.3‑1HTTP Response Headers
Table 4.1.1.1‑1SIF_Register Protocol
Table 4.1.1.2‑1SIF_Unregister Protocol
Table 4.1.1.3‑1SIF_Provide Protocol
Table 4.1.1.4‑1SIF_Unprovide Protocol
Table 4.1.1.5‑1SIF_Subscribe Protocol
Table 4.1.1.6‑1SIF_Unsubscribe Protocol
Table 4.1.1.7‑1SIF_Provision Protocol
Table 4.1.1.8‑1SIF_Event Protocol
Table 4.1.1.9‑1SIF_Request Protocol
Table 4.1.1.10‑1SIF_Ping Protocol
Table 4.1.1.11‑1SIF_Sleep Protocol
Table 4.1.1.12‑1SIF_Wakeup Protocol
Table 4.1.1.13‑1SIF_GetZoneStatus Protocol
Table 4.1.1.14‑1SIF_GetAgentACL Protocol
Table 4.1.1.15‑1SIF_CancelRequests Protocol
Table 4.1.1.16‑1SIF_GetMessage Protocol
Table 4.1.1.17‑1SIF_Ack Protocol (Push-Mode)
Table 4.1.1.18‑1SIF_Ack Protocol (Pull-Mode)
Table 4.1.2.1‑1SIF_Message Handling
Table 4.1.2.2‑1SIF_Event Handling
Table 4.1.2.3‑1SIF_Request Handling
Table 4.1.2.4‑1SIF_Event Handling
Table 4.1.2.5‑1SIF_Ping Handling
Table 4.1.2.6‑1SIF_Sleep Handling
Table 4.1.2.7‑1SIF_Wakeup Handling
Table 4.1.2.8‑1SIF_CancelRequests Handling
Table 4.2.1.1‑1SIF_Message Delivery Protocol
Table 4.2.1.2‑1SIF_Ping Protocol
Table 4.2.1.3‑1SIF_Sleep Protocol
Table 4.2.1.4‑1SIF_Wakeup Protocol
Table 4.2.1.5‑1SIF_CancelRequests Protocol
Table 4.2.2.1‑1SIF_Message Handling
Table 4.2.2.2‑1SIF_Register Handling
Table 4.2.2.3‑1SIF_Unregister Handling
Table 4.2.2.4‑1SIF_Provide Handling
Table 4.2.2.5‑1SIF_Unprovide Handling
Table 4.2.2.6‑1SIF_Subscribe Handling
Table 4.2.2.7‑1SIF_Unsubscribe Handling
Table 4.2.2.8‑1SIF_Provision Handling
Table 4.2.2.9‑1SIF_Event Handling
Table 4.2.2.10‑1SIF_Request Handling
Table 4.2.2.11‑1SIF_Response Handling
Table 4.2.2.12‑1SIF_Ping Handling
Table 4.2.2.13‑1SIF_Sleep Handling
Table 4.2.2.14‑1SIF_Wakeup Handling
Table 4.2.2.15‑1SIF_GetZoneStatus Handling
Table 4.2.2.16‑1SIF_GetZoneStatus Handling
Table 4.2.2.17‑1SIF_CancelRequests Handling
Table 4.2.2.18‑1SIF_GetMessage Handling
Table 4.2.2.19‑1SIF_Ack Handling
Table 4.2.2.20‑1SIF_Ack Handling
Table 5.1.1‑1SIF_Message
Table 5.1.2‑1SIF_Header
Table 5.1.3‑1SIF_EncryptionLevel
Table 5.1.4‑1SIF_AuthenticationLevel
Table 5.1.5‑1SIF_Contexts
Table 5.1.6‑1SIF_Context
Table 5.1.7‑1SIF_Protocol
Table 5.1.8‑1SIF_Status
Table 5.1.9‑1SIF_Error
Table 5.1.10‑1SIF_Query
Table 5.1.11‑1SIF_ExtendedQuery
Table 5.1.11.1‑1Mapping SIF_Query to SIF_ExtendedQuery
Table 5.1.12‑1SIF_ExtendedQueryResults
Table 5.2.1‑1SIF_Ack
Table 5.2.2‑1SIF_Event
Table 5.2.3‑1SIF_Provide
Table 5.2.4‑1SIF_Provision
Table 5.2.5‑1SIF_Register
Table 5.2.6‑1SIF_Request
Table 5.2.7‑1SIF_Response
Table 5.2.8‑1SIF_Subscribe
Table 5.2.9‑1SIF_SystemControl
Table 5.2.10‑1SIF_Ping
Table 5.2.11‑1SIF_Sleep
Table 5.2.12‑1SIF_Wakeup
Table 5.2.13‑1SIF_GetMessage
Table 5.2.14‑1SIF_GetZoneStatus
Table 5.2.15‑1SIF_GetAgentACL
Table 5.2.16‑1SIF_CancelRequests
Table 5.2.17‑1SIF_Unprovide
Table 5.2.18‑1SIF_Unregister
Table 5.2.19‑1SIF_Unsubscribe
Table 5.3.1‑1SIF_ZoneStatus
Table 5.3.2‑1SIF_AgentACL
Table 6.2.1‑1Address
Table 6.2.2‑1AddressList
Table 6.2.3‑1BirthDate
Table 6.2.4‑1CongressionalDistrict
Table 6.2.5‑1ContactInfo
Table 6.2.6‑1Country
Table 6.2.7‑1CourseCode
Table 6.2.8‑1CourseCredits
Table 6.2.9‑1CourseTitle
Table 6.2.10‑1Demographics
Table 6.2.11‑1DistrictCourseCode
Table 6.2.12‑1EarnedStatus
Table 6.2.13‑1EconomicDisadvantage
Table 6.2.14‑1EducationalLevel
Table 6.2.15‑1ElectronicId
Table 6.2.16‑1ElectronicIdList
Table 6.2.17‑1ELL
Table 6.2.18‑1Email
Table 6.2.19‑1EmailList
Table 6.2.20‑1EnglishProficiency
Table 6.2.21‑1EntryDate
Table 6.2.22‑1ExceptionalityCategories
Table 6.2.23‑1ExitDate
Table 6.2.24‑1FirstName
Table 6.2.25‑1Gender
Table 6.2.26‑1GiftedTalented
Table 6.2.27‑1GradeLevel
Table 6.2.28‑1GradeLevels
Table 6.2.29‑1GraduationDate
Table 6.2.30‑1GraduationRequirement
Table 6.2.31‑1GridLocation
Table 6.2.32‑1HispanicLatino
Table 6.2.33‑1Homeless
Table 6.2.34‑1HomeroomNumber
Table 6.2.35‑1IDEA
Table 6.2.36‑1IdentificationInfo
Table 6.2.37‑1IdentificationInfoList
Table 6.2.38‑1Immigrant
Table 6.2.39‑1InstructionalLevel
Table 6.2.40‑1LanguageList
Table 6.2.41‑1LastName
Table 6.2.42‑1LEAName
Table 6.2.43‑1LocalId
Table 6.2.44‑1Location
Table 6.2.45‑1MealStatus
Table 6.2.46‑1MealType
Table 6.2.47‑1MeetingTime
Table 6.2.48‑1MiddleName
Table 6.2.49‑1Migrant
Table 6.2.50‑1Name
Table 6.2.51‑1NCESId
Table 6.2.52‑1NeglectedDelinquent
Table 6.2.53‑1OnTimeGraduationYear
Table 6.2.54‑1OperationalStatus
Table 6.2.55‑1OtherCodeList
Table 6.2.56‑1OtherId
Table 6.2.57‑1OtherNames
Table 6.2.58‑1PhoneNumber
Table 6.2.59‑1PhoneNumberList
Table 6.2.60‑1PlannedAssessmentParticipation
Table 6.2.61‑1PrimaryAssignment
Table 6.2.62‑1Program
Table 6.2.63‑1ProgramStatus
Table 6.2.64‑1ProgramType
Table 6.2.65‑1ProjectedGraduationYear
Table 6.2.66‑1PublishInDirectory
Table 6.2.67‑1RaceList
Table 6.2.68‑1Relationship
Table 6.2.69‑1SCEDCode
Table 6.2.70‑1SchoolContactList
Table 6.2.71‑1SchoolName
Table 6.2.72‑1SchoolURL
Table 6.2.73‑1SchoolYear
Table 6.2.74‑1Section504
Table 6.2.75‑1SIF_ExtendedElements
Table 6.2.76‑1SSN
Table 6.2.77‑1StateCourseCode
Table 6.2.78‑1StateProvince
Table 6.2.79‑1StateProvinceId
Table 6.2.80‑1SubjectArea
Table 6.2.81‑1SubjectAreaList
Table 6.2.82‑1TermSpan
Table 6.2.83‑1Title1
Table 6.2.84‑1VocationalConcentrator
Table 6.3.1‑1Assessment
Table 6.3.2‑1AssessmentAdministration
Table 6.3.3‑1AssessmentForm
Table 6.3.4‑1AssessmentItem
Table 6.3.5‑1AssessmentPackage
Table 6.3.6‑1AssessmentRegistration
Table 6.3.7‑1AssessmentSubTest
Table 6.3.8‑1ItemCharacteristics
Table 6.3.9‑1StudentResponseSet
Table 6.3.10‑1StudentScoreSet
Table 6.4.1‑1SIF_Metadata
Table 6.4.2‑1TimeElement
Table 6.4.3‑1LifeCycle
Table 6.4.4‑1RightsElement
Table 6.4.5‑1EducationFilter
Table 6.4.6‑1SEAInfo
Table 6.4.7‑1StudentLEARelationship
Table 6.5.1‑1AggregateStatisticInfo
Table 6.5.2‑1AggregateCharacteristicInfo
Table 6.5.3‑1AggregateStatisticFact
Table 6.6.1‑1FoodserviceItem
Table 6.6.2‑1FoodserviceItemPortion
Table 6.6.3‑1FoodserviceItemSales
Table 6.6.4‑1FoodserviceItemUnit
Table 6.6.5‑1FoodserviceMealPrices
Table 6.6.6‑1FoodserviceMenuPlan
Table 6.6.7‑1FoodserviceMilkSales
Table 6.6.8‑1FoodservicePurchaseTransaction
Table 6.6.9‑1FoodserviceReimbursementRates
Table 6.6.10‑1FoodserviceSales
Table 6.6.11‑1FoodserviceStaffEnrollmentCount
Table 6.6.12‑1FoodserviceStaffMealCounts
Table 6.6.13‑1FoodserviceStudentEnrollmentCount
Table 6.6.14‑1FoodserviceStudentMealCounts
Table 6.6.15‑1FoodserviceTransaction
Table 6.6.16‑1FoodserviceTransactionDetails
Table 6.6.17‑1FoodserviceTransactionPayMethod
Table 6.6.18‑1StaffMeal
Table 6.6.19‑1StudentMeal
Table 6.7.1‑1GradingAssignment
Table 6.7.2‑1GradingAssignmentScore
Table 6.7.3‑1GradingCategory
Table 6.7.4‑1MarkInfo
Table 6.7.5‑1MarkValueInfo
Table 6.7.6‑1OfficialStudentPeriodAttendance
Table 6.7.7‑1SectionMarkInfo
Table 6.7.8‑1StudentGrade
Table 6.7.9‑1StudentPeriodAttendance
Table 6.7.10‑1StudentSectionMarks
Table 6.8.1‑1AccountingPeriod
Table 6.8.2‑1Billing
Table 6.8.3‑1EmployeeAssignment
Table 6.8.4‑1EmployeeContract
Table 6.8.5‑1EmployeePersonal
Table 6.8.6‑1EmployeePicture
Table 6.8.7‑1EmployeeWage
Table 6.8.8‑1EmploymentRecord
Table 6.8.9‑1FinancialAccount
Table 6.8.10‑1FinancialAccountAccountingPeriodLocationInfo
Table 6.8.11‑1FinancialAnnual
Table 6.8.12‑1FinancialBudget
Table 6.8.13‑1FinancialClass
Table 6.8.14‑1FinancialIncomeStatement
Table 6.8.15‑1FinancialTransaction
Table 6.8.16‑1FiscalYear
Table 6.8.17‑1LocationInfo
Table 6.8.18‑1Payment
Table 6.8.19‑1Purchasing
Table 6.8.20‑1TimeWorked
Table 6.8.21‑1VendorInfo
Table 6.8.22‑1W4
Table 6.9.1‑1Authentication
Table 6.9.2‑1SIF_LogEntry
Table 6.10.1‑1Activity
Table 6.10.2‑1Assignment
Table 6.10.3‑1CurriculumStructure
Table 6.10.4‑1LearningResource
Table 6.10.5‑1LearningResourcePackage
Table 6.10.6‑1LearningStandardDocument
Table 6.10.7‑1LearningStandardItem
Table 6.10.8‑1Lesson
Table 6.11.1‑1LibraryPatronStatus
Table 6.12.1‑1ActivityProvider
Table 6.12.2‑1EmployeeCredential
Table 6.12.3‑1EmployeeCredit
Table 6.12.4‑1EmployeeRecertification
Table 6.12.5‑1ProfessionalDevelopmentActivities
Table 6.12.6‑1ProfessionalDevelopmentProgram
Table 6.12.7‑1ProfessionalDevelopmentRegistration
Table 6.13.1‑1StudentParticipation
Table 6.13.2‑1StudentPlacement
Table 6.13.3‑1TestAccommodation
Table 6.14.1‑1AttendanceCodeInfo
Table 6.14.2‑1CalendarDate
Table 6.14.3‑1CalendarSummary
Table 6.14.4‑1DisciplineIncident
Table 6.14.5‑1LEAInfo
Table 6.14.6‑1RoomInfo
Table 6.14.7‑1RoomType
Table 6.14.8‑1SchoolCourseInfo
Table 6.14.9‑1SchoolInfo
Table 6.14.10‑1SectionInfo
Table 6.14.11‑1StaffAssignment
Table 6.14.12‑1StaffPersonal
Table 6.14.13‑1StudentActivityInfo
Table 6.14.14‑1StudentActivityParticipation
Table 6.14.15‑1StudentAttendanceSummary
Table 6.14.16‑1StudentContact
Table 6.14.17‑1StudentDailyAttendance
Table 6.14.18‑1StudentPersonal
Table 6.14.19‑1StudentPicture
Table 6.14.20‑1StudentSchoolEnrollment
Table 6.14.21‑1StudentSectionEnrollment
Table 6.14.22‑1StudentSnapshot
Table 6.14.23‑1TermInfo
Table 6.15.1‑1StudentRecordExchange
Table 6.15.2‑1StudentDemographicRecord
Table 6.15.3‑1StudentAcademicRecord
Table 6.15.4‑1StudentSpecialEducationRecord
Table 6.15.5‑1StudentRecordPackage
Table 6.16.1‑1BusEquipment
Table 6.16.2‑1BusInfo
Table 6.16.3‑1BusPositionInfo
Table 6.16.4‑1BusRouteDetail
Table 6.16.5‑1BusRouteInfo
Table 6.16.6‑1BusStopInfo
Table 6.16.7‑1StudentTransportInfo
Table 6.17.1‑1ReportAuthorityInfo
Table 6.17.2‑1ReportManifest
Table 6.17.3‑1SIF_ReportObject
Table 6.17.4‑1StudentLocator
Table A.1‑1AbstractContentElementType
Table A.2‑1AbstractContentPackageType
Table A.3‑1BaseNameType
Table A.4‑1DefinedProtocolsType
Table A.5‑1ExtendedContentType
Table A.6‑1FSAmountType
Table A.7‑1FSCountType
Table A.8‑1GUIDType
Table A.9‑1IdRefType
Table A.10‑1MonetaryAmountType
Table A.11‑1MsgIdType
Table A.12‑1NameOfRecordType
Table A.13‑1ObjectNameType
Table A.14‑1OrganizationRelationshipType
Table A.15‑1OtherNameType
Table A.16‑1PartialDateType
Table A.17‑1RefIdType
Table A.18‑1ReportDataObjectType
Table A.19‑1ReportPackageType
Table A.20‑1SelectedContentType
Table A.21‑1SIF_EventObjectType
Table A.22‑1SIF_ExampleObjectType
Table A.23‑1SIF_ProvideObjectNamesType
Table A.24‑1SIF_RequestObjectNamesType
Table A.25‑1SIF_ResponseObjectsType
Table A.26‑1SIF_ResponseObjectType
Table A.27‑1SIF_SubscribeObjectNamesType
Table A.28‑1URIOrBinaryType
Table A.29‑1VersionType
Table A.30‑1VersionWithWildcardsType
Table F.1‑1Agent Message Queue - Example 1
Table F.1‑2Agent Message Queue - Example 2
Table F.1‑3Agent Message Queue - Example 3
Table F.1‑4Agent Message Queue - Example 4

Appendix I: Index of Examples

Example 2.2.3‑1Examples Convention
Example 3.3.6.6.2‑1The "Pull" Model - SIF_Status/SIF_Code of 0
Example 3.3.6.6.2‑2The "Pull" Model - SIF_Status/SIF_Code of 9
Example 3.3.7.1.2‑1SIF HTTPS Request
Example 3.3.7.1.3‑1SIF HTTPS Response
Example 3.3.7.3‑1SIF client requesting compression of response
Example 3.3.7.3‑2SIF server returning compressed SIF_Ack
Example 3.3.7.3‑3SIF client sending compressed SIF_Message
Example 3.3.7.3‑4SIF client sending compressed SIF_Message and requesting compression of response
Example 3.3.7.4‑1SIF_Protocol with Accept-Encoding indicating acceptance of gzip (and identity)
Example 3.3.7.4‑2SIF_Protocol with Accept-Encoding indicating no acceptance of encodings other than gzip or identity, gzip preferred over identity
Example 5.1.1‑1SIF_Message
Example 5.1.2‑1SIF_Header
Example 5.1.2‑2SIF_Header
Example 5.1.10.1‑1 
Example 5.1.10.1‑2 
Example 5.1.10.1‑3SIF_ConditionGroup querying into an object
Example 5.1.10.2‑1 
Example 5.1.10.2‑2 
Example 5.1.11‑1Selecting all StudentPersonal objects
Example 5.1.11‑3Selecting all attributes and immediate child elements of StudentPersonal as columns from all StudentPersonal objects
Example 5.1.11‑5Selecting specific attributes and elements from all StudentPersonal objects
Example 5.1.11‑7Selecting StudentPersonal objects along with each student's EntryDate from StudentSchoolEnrollment for a specific school, school year and other StudentSchoolEnrollment values, sorted by student's last name
Example 5.1.11‑9Selecting a specific StudentPersonal's StudentSchoolEnrollment objects, along with the corresponding school name for each enrollment
Example 5.1.11.1‑1Input SIF_Query
Example 5.1.11.1‑2Corresponding SIF_ExtendedQuery
Example 5.1.12‑1SIF_ExtendedQueryResults
Example 5.2.1‑1SIF_Ack Status Message
Example 5.2.1‑3SIF_Ack Error Message
Example 5.2.2‑1SIF_Event Message with StudentPersonal changes
Example 5.2.3‑1SIF_Provide
Example 5.2.4‑1SIF_Provision
Example 5.2.5‑1SIF_Register
Example 5.2.6‑1SIF_Request
Example 5.2.7‑1Sample single-packet SIF_Response to a SIF_Request for the Name element from a StudentPersonal object
Example 5.2.7‑3SIF_Response (first packet)
Example 5.2.7‑5SIF_Response (second packet)
Example 5.2.7‑7SIF_Response with no matching objects
Example 5.2.8‑1SIF_Subscribe
Example 5.2.9‑1SIF_SystemControl
Example 5.2.10‑1SIF_Ping
Example 5.2.10‑3SIF_SystemControl—SIF_Ping ("Okay" status)
Example 5.2.10‑5SIF_SystemControl—SIF_Ping ("Receiver is sleeping" status)
Example 5.2.10‑7SIF_SystemControl—SIF_Ping (Transport error returned)
Example 5.2.11‑1SIF_Sleep
Example 5.2.11‑3SIF_Ack with "Okay" status in response to SIF_Sleep
Example 5.2.12‑1SIF_Wakeup
Example 5.2.12‑3SIF_Ack with an "Okay" status in response to SIF_Wakeup
Example 5.2.13‑1SIF_GetMessage
Example 5.2.13‑3SIF_Ack in response to SIF_GetMessage
Example 5.2.13‑5SIF_Ack in response to SIF_GetMessage (no message in queue)
Example 5.2.14‑1SIF_GetZoneStatus
Example 5.2.14‑3SIF_Ack containing SIF_ZoneStatus
Example 5.2.16‑1SIF_CancelRequests
Example 5.2.17‑1SIF_Unprovide
Example 5.2.18‑1SIF_Unregister
Example 5.2.19‑1SIF_Unsubscribe
Example 5.3.1‑1SIF_ZoneStatus
Example 5.3.2‑1SIF_AgentACL
Example 6.1.2.3‑1EmailList
Example 6.1.2.3.1‑1Indicating a new value for the Primary e-mail address and deleting the Alternate1 address
Example 6.1.2.3.2‑1Indicating an updated list of country citizenships
Example 6.2.1‑1Address
Example 6.2.2‑1AddressList
Example 6.2.3‑1BirthDate
Example 6.2.4‑1CongressionalDistrict
Example 6.2.5‑1ContactInfo
Example 6.2.6‑1Country
Example 6.2.7‑1CourseCode
Example 6.2.8‑1CourseCredits
Example 6.2.9‑1CourseTitle
Example 6.2.10‑1Demographics
Example 6.2.11‑1DistrictCourseCode
Example 6.2.12‑1EarnedStatus
Example 6.2.13‑1EconomicDisadvantage
Example 6.2.14‑1EducationalLevel
Example 6.2.15‑1ElectronicId
Example 6.2.16‑1ElectronicIdList
Example 6.2.17‑1ELL
Example 6.2.18‑1Email
Example 6.2.19‑1EmailList
Example 6.2.21‑1EntryDate
Example 6.2.22‑1ExceptionalityCategories
Example 6.2.23‑1ExitDate
Example 6.2.24‑1FirstName
Example 6.2.25‑1Gender
Example 6.2.26‑1GiftedTalented
Example 6.2.27‑1GradeLevel
Example 6.2.28‑1GradeLevels
Example 6.2.29‑1GraduationDate
Example 6.2.30‑1GraduationRequirement
Example 6.2.31‑1GridLocation
Example 6.2.32‑1HispanicLatino
Example 6.2.33‑1Homeless
Example 6.2.34‑1HomeroomNumber
Example 6.2.35‑1IDEA
Example 6.2.36‑1IdentificationInfo
Example 6.2.37‑1IdentificationInfoList
Example 6.2.38‑1Immigrant
Example 6.2.39‑1InstructionalLevel
Example 6.2.41‑1LastName
Example 6.2.42‑1LEAName
Example 6.2.43‑1LocalId
Example 6.2.45‑1MealStatus
Example 6.2.46‑1MealType
Example 6.2.47‑1MeetingTime
Example 6.2.48‑1MiddleName
Example 6.2.49‑1Migrant
Example 6.2.50‑1Name
Example 6.2.51‑1NCESId
Example 6.2.52‑1NeglectedDelinquent
Example 6.2.53‑1OnTimeGraduationYear
Example 6.2.54‑1OperationalStatus
Example 6.2.55‑1OtherCodeList
Example 6.2.56‑1OtherId
Example 6.2.57‑1OtherNames
Example 6.2.58‑1PhoneNumber
Example 6.2.59‑1PhoneNumberList
Example 6.2.60‑1PlannedAssessmentParticipation
Example 6.2.62‑1Program
Example 6.2.63‑1ProgramStatus
Example 6.2.64‑1ProgramType
Example 6.2.65‑1ProjectedGraduationYear
Example 6.2.66‑1PublishInDirectory
Example 6.2.67‑1RaceList
Example 6.2.68‑1Relationship
Example 6.2.69‑1SCEDCode
Example 6.2.70‑1SchoolContactList
Example 6.2.71‑1SchoolName
Example 6.2.72‑1SchoolURL
Example 6.2.73‑1SchoolYear
Example 6.2.74‑1Section504
Example 6.2.75‑1SIF_ExtendedElements
Example 6.2.76‑1SSN
Example 6.2.77‑1StateCourseCode
Example 6.2.78‑1StateProvince
Example 6.2.79‑1StateProvinceId
Example 6.2.80‑1SubjectArea
Example 6.2.81‑1SubjectAreaList
Example 6.2.82‑1TermSpan
Example 6.2.83‑1Title1
Example 6.2.84‑1VocationalConcentrator
Example 6.3.1‑1Assessment
Example 6.3.2‑1AssessmentAdministration
Example 6.3.3‑1AssessmentForm
Example 6.3.4‑1AssessmentItem
Example 6.3.5‑1AssessmentPackage
Example 6.3.6‑1AssessmentRegistration
Example 6.3.7‑1AssessmentSubTest
Example 6.3.8‑1ItemCharacteristics
Example 6.3.9‑1StudentResponseSet
Example 6.3.10‑1StudentScoreSet
Example 6.4.1‑1SIF_Metadata
Example 6.4.2‑1TimeElement
Example 6.4.3‑1LifeCycle
Example 6.4.4‑1RightsElement
Example 6.4.5‑1EducationFilter
Example 6.4.6‑1SEAInfo
Example 6.4.7‑1StudentLEARelationship
Example 6.5.1‑1AggregateStatisticInfo
Example 6.5.2‑1AggregateCharacteristicInfo
Example 6.5.3‑1AggregateStatisticFact
Example 6.6.1‑1FoodserviceItem
Example 6.6.2‑1FoodserviceItemPortion
Example 6.6.3‑1FoodserviceItemSales
Example 6.6.4‑1FoodserviceItemUnit
Example 6.6.5‑1FoodserviceMealPrices
Example 6.6.6‑1FoodserviceMenuPlan
Example 6.6.7‑1FoodserviceMilkSales
Example 6.6.8‑1FoodservicePurchaseTransaction
Example 6.6.9‑1FoodserviceReimbursementRates
Example 6.6.10‑1FoodserviceSales
Example 6.6.11‑1FoodserviceStaffEnrollmentCount
Example 6.6.12‑1FoodserviceStaffMealCounts
Example 6.6.13‑1FoodserviceStudentEnrollmentCount
Example 6.6.14‑1FoodserviceStudentMealCounts
Example 6.6.15‑1FoodserviceTransaction
Example 6.6.16‑1FoodserviceTransactionDetails
Example 6.6.17‑1FoodserviceTransactionPayMethod
Example 6.6.18‑1StaffMeal
Example 6.6.19‑1StudentMeal
Example 6.7.1‑1GradingAssignment
Example 6.7.2‑1GradingAssignmentScore
Example 6.7.3‑1GradingCategory
Example 6.7.4‑1MarkInfo
Example 6.7.4‑2MarkInfo
Example 6.7.5‑1MarkValueInfo
Example 6.7.5‑2MarkValueInfo
Example 6.7.5‑3MarkValueInfo
Example 6.7.6‑1OfficialStudentPeriodAttendance
Example 6.7.7‑1SectionMarkInfo
Example 6.7.8‑1StudentGrade
Example 6.7.9‑1StudentPeriodAttendance
Example 6.7.10‑1StudentSectionMarks
Example 6.8.1‑1AccountingPeriod
Example 6.8.2‑1Billing
Example 6.8.3‑1EmployeeAssignment
Example 6.8.4‑1EmployeeContract
Example 6.8.5‑1EmployeePersonal
Example 6.8.6‑1EmployeePicture
Example 6.8.7‑1EmployeeWage
Example 6.8.8‑1EmploymentRecord
Example 6.8.9‑1FinancialAccount
Example 6.8.10‑1FinancialAccountAccountingPeriodLocationInfo
Example 6.8.11‑1FinancialAnnual
Example 6.8.12‑1FinancialBudget
Example 6.8.13‑1FinancialClass
Example 6.8.14‑1FinancialIncomeStatement
Example 6.8.15‑1FinancialTransaction
Example 6.8.16‑1FiscalYear
Example 6.8.17‑1LocationInfo
Example 6.8.18‑1Payment
Example 6.8.19‑1Purchasing
Example 6.8.20‑1TimeWorked
Example 6.8.21‑1VendorInfo
Example 6.8.22‑1W4
Example 6.9.1‑1Authentication
Example 6.9.2‑1SIF_LogEntry when an agent encounters a system failure
Example 6.9.2‑2SIF_LogEntry when an agent fails to delete a student
Example 6.9.2‑3SIF_LogEntry when an agent starts synchronizing data
Example 6.9.2‑4SIF_LogEntry when a ZIS fails to deliver a message due to buffer size limitations
Example 6.10.1‑1Activity
Example 6.10.2‑1Assignment
Example 6.10.3‑1CurriculumStructure
Example 6.10.4‑1LearningResource
Example 6.10.5‑1LearningResourcePackage
Example 6.10.6‑1LearningStandardDocument
Example 6.10.7‑1LearningStandardItem
Example 6.10.8‑1Lesson
Example 6.11.1‑1LibraryPatronStatus
Example 6.12.1‑1ActivityProvider
Example 6.12.2‑1EmployeeCredential
Example 6.12.3‑1EmployeeCredit
Example 6.12.4‑1EmployeeRecertification
Example 6.12.5‑1ProfessionalDevelopmentActivities
Example 6.12.6‑1ProfessionalDevelopmentProgram
Example 6.12.7‑1ProfessionalDevelopmentRegistration
Example 6.13.1‑1StudentParticipation
Example 6.13.2‑1StudentPlacement
Example 6.13.3‑1TestAccommodation
Example 6.14.1‑1AttendanceCodeInfo
Example 6.14.2‑1CalendarDate
Example 6.14.3‑1CalendarSummary
Example 6.14.4‑1DisciplineIncident
Example 6.14.5‑1LEAInfo
Example 6.14.6‑1RoomInfo
Example 6.14.7‑1RoomType
Example 6.14.8‑1SchoolCourseInfo
Example 6.14.9‑1SchoolInfo
Example 6.14.10‑1SectionInfo
Example 6.14.11‑1StaffAssignment
Example 6.14.12‑1StaffPersonal
Example 6.14.13‑1StudentActivityInfo
Example 6.14.14‑1StudentActivityParticipation
Example 6.14.15‑1StudentAttendanceSummary
Example 6.14.16‑1StudentContact
Example 6.14.17‑1StudentDailyAttendance
Example 6.14.18‑1StudentPersonal
Example 6.14.19‑1StudentPicture
Example 6.14.20‑1StudentSchoolEnrollment
Example 6.14.21‑1StudentSectionEnrollment
Example 6.14.22‑1StudentSnapshot
Example 6.14.23‑1TermInfo
Example 6.15.1‑1StudentRecordExchange
Example 6.15.2‑1StudentDemographicRecord
Example 6.15.3‑1StudentAcademicRecord
Example 6.15.5‑1StudentRecordPackage
Example 6.16.1‑1BusEquipment
Example 6.16.2‑1BusInfo
Example 6.16.3‑1BusPositionInfo
Example 6.16.4‑1BusRouteDetail
Example 6.16.5‑1BusRouteInfo
Example 6.16.6‑1BusStopInfo
Example 6.16.7‑1StudentTransportInfo
Example 6.17.1‑1ReportAuthorityInfo
Example 6.17.2‑1ReportManifest
Example 6.17.3‑1SIF_ReportObject
Example 6.17.4‑1StudentLocator Query
Example 6.17.4‑2StudentLocator Query (SIF_Example)
Example 6.17.4‑3StudentLocator Response
Example A.3‑1BaseNameType
Example D.7‑1SIF_Message Namespace
Example D.7‑2SIF_Message Namespace
Example E.1‑1StudentPersonal from SIF Implementation Specification 1.1
Example E.1‑2StudentPersonal from SIF Implementation Specification 1.5r1
Example F.1‑1"Immediate" SIF_Ack
Example F.1‑2"Intermediate" SIF_Ack
Example F.1‑3"Final" SIF_Ack

Appendix J: Index of Figures

Figure 2.2.6‑1XML Diagram Conventions
Figure 3.3.1‑1Single-Zone School SIF Implementation
Figure 3.3.1‑2Multiple-Zone District SIF Implementation
Figure 3.3.1‑3Multiple-Zone State SIF Implementation
Figure 5.1.1‑1SIF_Message
Figure 5.1.2‑1SIF_Header
Figure 5.1.3‑1SIF_EncryptionLevel
Figure 5.1.4‑1SIF_AuthenticationLevel
Figure 5.1.5‑1SIF_Contexts
Figure 5.1.6‑1SIF_Context
Figure 5.1.7‑1SIF_Protocol
Figure 5.1.8‑1SIF_Status
Figure 5.1.9‑1SIF_Error
Figure 5.1.10‑1SIF_Query
Figure 5.1.11‑1SIF_ExtendedQuery
Figure 5.1.12‑1SIF_ExtendedQueryResults
Figure 5.2.1‑1SIF_Ack
Figure 5.2.2‑1SIF_Event
Figure 5.2.3‑1SIF_Provide
Figure 5.2.4‑1SIF_Provision
Figure 5.2.5‑1SIF_Register
Figure 5.2.6‑1SIF_Request
Figure 5.2.7‑1SIF_Response
Figure 5.2.8‑1SIF_Subscribe
Figure 5.2.9‑1SIF_SystemControl
Figure 5.2.10‑1SIF_Ping
Figure 5.2.11‑1SIF_Sleep
Figure 5.2.12‑1SIF_Wakeup
Figure 5.2.13‑1SIF_GetMessage
Figure 5.2.14‑1SIF_GetZoneStatus
Figure 5.2.15‑1SIF_GetAgentACL
Figure 5.2.16‑1SIF_CancelRequests
Figure 5.2.17‑1SIF_Unprovide
Figure 5.2.18‑1SIF_Unregister
Figure 5.2.19‑1SIF_Unsubscribe
Figure 5.3.1‑1SIF_ZoneStatus
Figure 5.3.2‑1SIF_AgentACL
Figure 6.2.1‑1Address
Figure 6.2.2‑1AddressList
Figure 6.2.3‑1BirthDate
Figure 6.2.4‑1CongressionalDistrict
Figure 6.2.5‑1ContactInfo
Figure 6.2.6‑1Country
Figure 6.2.7‑1CourseCode
Figure 6.2.8‑1CourseCredits
Figure 6.2.9‑1CourseTitle
Figure 6.2.10‑1Demographics
Figure 6.2.11‑1DistrictCourseCode
Figure 6.2.12‑1EarnedStatus
Figure 6.2.13‑1EconomicDisadvantage
Figure 6.2.14‑1EducationalLevel
Figure 6.2.15‑1ElectronicId
Figure 6.2.16‑1ElectronicIdList
Figure 6.2.17‑1ELL
Figure 6.2.18‑1Email
Figure 6.2.19‑1EmailList
Figure 6.2.20‑1EnglishProficiency
Figure 6.2.21‑1EntryDate
Figure 6.2.22‑1ExceptionalityCategories
Figure 6.2.23‑1ExitDate
Figure 6.2.24‑1FirstName
Figure 6.2.25‑1Gender
Figure 6.2.26‑1GiftedTalented
Figure 6.2.27‑1GradeLevel
Figure 6.2.28‑1GradeLevels
Figure 6.2.29‑1GraduationDate
Figure 6.2.30‑1GraduationRequirement
Figure 6.2.31‑1GridLocation
Figure 6.2.32‑1HispanicLatino
Figure 6.2.33‑1Homeless
Figure 6.2.34‑1HomeroomNumber
Figure 6.2.35‑1IDEA
Figure 6.2.36‑1IdentificationInfo
Figure 6.2.37‑1IdentificationInfoList
Figure 6.2.38‑1Immigrant
Figure 6.2.39‑1InstructionalLevel
Figure 6.2.40‑1LanguageList
Figure 6.2.41‑1LastName
Figure 6.2.42‑1LEAName
Figure 6.2.43‑1LocalId
Figure 6.2.44‑1Location
Figure 6.2.45‑1MealStatus
Figure 6.2.46‑1MealType
Figure 6.2.47‑1MeetingTime
Figure 6.2.48‑1MiddleName
Figure 6.2.49‑1Migrant
Figure 6.2.50‑1Name
Figure 6.2.51‑1NCESId
Figure 6.2.52‑1NeglectedDelinquent
Figure 6.2.53‑1OnTimeGraduationYear
Figure 6.2.54‑1OperationalStatus
Figure 6.2.55‑1OtherCodeList
Figure 6.2.56‑1OtherId
Figure 6.2.57‑1OtherNames
Figure 6.2.58‑1PhoneNumber
Figure 6.2.59‑1PhoneNumberList
Figure 6.2.60‑1PlannedAssessmentParticipation
Figure 6.2.61‑1PrimaryAssignment
Figure 6.2.62‑1Program
Figure 6.2.63‑1ProgramStatus
Figure 6.2.64‑1ProgramType
Figure 6.2.65‑1ProjectedGraduationYear
Figure 6.2.66‑1PublishInDirectory
Figure 6.2.67‑1RaceList
Figure 6.2.68‑1Relationship
Figure 6.2.69‑1SCEDCode
Figure 6.2.70‑1SchoolContactList
Figure 6.2.71‑1SchoolName
Figure 6.2.72‑1SchoolURL
Figure 6.2.73‑1SchoolYear
Figure 6.2.74‑1Section504
Figure 6.2.75‑1SIF_ExtendedElements
Figure 6.2.76‑1SSN
Figure 6.2.77‑1StateCourseCode
Figure 6.2.78‑1StateProvince
Figure 6.2.79‑1StateProvinceId
Figure 6.2.80‑1SubjectArea
Figure 6.2.81‑1SubjectAreaList
Figure 6.2.82‑1TermSpan
Figure 6.2.83‑1Title1
Figure 6.2.84‑1VocationalConcentrator
Figure 6.3.1‑1Assessment
Figure 6.3.2‑1AssessmentAdministration
Figure 6.3.3‑1AssessmentForm
Figure 6.3.4‑1AssessmentItem
Figure 6.3.5‑1AssessmentPackage
Figure 6.3.6‑1AssessmentRegistration
Figure 6.3.7‑1AssessmentSubTest
Figure 6.3.8‑1ItemCharacteristics
Figure 6.3.9‑1StudentResponseSet
Figure 6.3.10‑1StudentScoreSet
Figure 6.4.1‑1SIF_Metadata
Figure 6.4.2‑1TimeElement
Figure 6.4.3‑1LifeCycle
Figure 6.4.4‑1RightsElement
Figure 6.4.5‑1EducationFilter
Figure 6.4.6‑1SEAInfo
Figure 6.4.7‑1StudentLEARelationship
Figure 6.5.1‑1AggregateStatisticInfo
Figure 6.5.2‑1AggregateCharacteristicInfo
Figure 6.5.3‑1AggregateStatisticFact
Figure 6.6.1‑1FoodserviceItem
Figure 6.6.2‑1FoodserviceItemPortion
Figure 6.6.3‑1FoodserviceItemSales
Figure 6.6.4‑1FoodserviceItemUnit
Figure 6.6.5‑1FoodserviceMealPrices
Figure 6.6.6‑1FoodserviceMenuPlan
Figure 6.6.7‑1FoodserviceMilkSales
Figure 6.6.8‑1FoodservicePurchaseTransaction
Figure 6.6.9‑1FoodserviceReimbursementRates
Figure 6.6.10‑1FoodserviceSales
Figure 6.6.11‑1FoodserviceStaffEnrollmentCount
Figure 6.6.12‑1FoodserviceStaffMealCounts
Figure 6.6.13‑1FoodserviceStudentEnrollmentCount
Figure 6.6.14‑1FoodserviceStudentMealCounts
Figure 6.6.15‑1FoodserviceTransaction
Figure 6.6.16‑1FoodserviceTransactionDetails
Figure 6.6.17‑1FoodserviceTransactionPayMethod
Figure 6.6.18‑1StaffMeal
Figure 6.6.19‑1StudentMeal
Figure 6.7.1‑1GradingAssignment
Figure 6.7.2‑1GradingAssignmentScore
Figure 6.7.3‑1GradingCategory
Figure 6.7.4‑1MarkInfo
Figure 6.7.5‑1MarkValueInfo
Figure 6.7.6‑1OfficialStudentPeriodAttendance
Figure 6.7.7‑1SectionMarkInfo
Figure 6.7.8‑1StudentGrade
Figure 6.7.9‑1StudentPeriodAttendance
Figure 6.7.10‑1StudentSectionMarks
Figure 6.8.1‑1AccountingPeriod
Figure 6.8.2‑1Billing
Figure 6.8.3‑1EmployeeAssignment
Figure 6.8.4‑1EmployeeContract
Figure 6.8.5‑1EmployeePersonal
Figure 6.8.6‑1EmployeePicture
Figure 6.8.7‑1EmployeeWage
Figure 6.8.8‑1EmploymentRecord
Figure 6.8.9‑1FinancialAccount
Figure 6.8.10‑1FinancialAccountAccountingPeriodLocationInfo
Figure 6.8.11‑1FinancialAnnual
Figure 6.8.12‑1FinancialBudget
Figure 6.8.13‑1FinancialClass
Figure 6.8.14‑1FinancialIncomeStatement
Figure 6.8.15‑1FinancialTransaction
Figure 6.8.16‑1FiscalYear
Figure 6.8.17‑1LocationInfo
Figure 6.8.18‑1Payment
Figure 6.8.19‑1Purchasing
Figure 6.8.20‑1TimeWorked
Figure 6.8.21‑1VendorInfo
Figure 6.8.22‑1W4
Figure 6.9.1‑1Authentication
Figure 6.9.2‑1SIF_LogEntry
Figure 6.10.1‑1Activity
Figure 6.10.2‑1Assignment
Figure 6.10.3‑1CurriculumStructure
Figure 6.10.4‑1LearningResource
Figure 6.10.5‑1LearningResourcePackage
Figure 6.10.6‑1LearningStandardDocument
Figure 6.10.7‑1LearningStandardItem
Figure 6.10.8‑1Lesson
Figure 6.11.1‑1LibraryPatronStatus
Figure 6.12.1‑1ActivityProvider
Figure 6.12.2‑1EmployeeCredential
Figure 6.12.3‑1EmployeeCredit
Figure 6.12.4‑1EmployeeRecertification
Figure 6.12.5‑1ProfessionalDevelopmentActivities
Figure 6.12.6‑1ProfessionalDevelopmentProgram
Figure 6.12.7‑1ProfessionalDevelopmentRegistration
Figure 6.13.1‑1StudentParticipation
Figure 6.13.2‑1StudentPlacement
Figure 6.13.3‑1TestAccommodation
Figure 6.14.1‑1AttendanceCodeInfo
Figure 6.14.2‑1CalendarDate
Figure 6.14.3‑1CalendarSummary
Figure 6.14.4‑1DisciplineIncident
Figure 6.14.5‑1LEAInfo
Figure 6.14.6‑1RoomInfo
Figure 6.14.7‑1RoomType
Figure 6.14.8‑1SchoolCourseInfo
Figure 6.14.9‑1SchoolInfo
Figure 6.14.10‑1SectionInfo
Figure 6.14.11‑1StaffAssignment
Figure 6.14.12‑1StaffPersonal
Figure 6.14.13‑1StudentActivityInfo
Figure 6.14.14‑1StudentActivityParticipation
Figure 6.14.15‑1StudentAttendanceSummary
Figure 6.14.16‑1StudentContact
Figure 6.14.17‑1StudentDailyAttendance
Figure 6.14.18‑1StudentPersonal
Figure 6.14.19‑1StudentPicture
Figure 6.14.20‑1StudentSchoolEnrollment
Figure 6.14.21‑1StudentSectionEnrollment
Figure 6.14.22‑1StudentSnapshot
Figure 6.14.23‑1TermInfo
Figure 6.15.1‑1StudentRecordExchange
Figure 6.15.2‑1StudentDemographicRecord
Figure 6.15.3‑1StudentAcademicRecord
Figure 6.15.4‑1StudentSpecialEducationRecord
Figure 6.15.5‑1StudentRecordPackage
Figure 6.16.1‑1BusEquipment
Figure 6.16.2‑1BusInfo
Figure 6.16.3‑1BusPositionInfo
Figure 6.16.4‑1BusRouteDetail
Figure 6.16.5‑1BusRouteInfo
Figure 6.16.6‑1BusStopInfo
Figure 6.16.7‑1StudentTransportInfo
Figure 6.17.1‑1ReportAuthorityInfo
Figure 6.17.2‑1ReportManifest
Figure 6.17.3‑1SIF_ReportObject
Figure 6.17.4‑1StudentLocator
Figure A.1‑1AbstractContentElementType
Figure A.2‑1AbstractContentPackageType
Figure A.3‑1BaseNameType
Figure A.4‑1DefinedProtocolsType
Figure A.5‑1ExtendedContentType
Figure A.6‑1FSAmountType
Figure A.7‑1FSCountType
Figure A.8‑1GUIDType
Figure A.9‑1IdRefType
Figure A.10‑1MonetaryAmountType
Figure A.11‑1MsgIdType
Figure A.12‑1NameOfRecordType
Figure A.13‑1ObjectNameType
Figure A.14‑1OrganizationRelationshipType
Figure A.15‑1OtherNameType
Figure A.16‑1PartialDateType
Figure A.17‑1RefIdType
Figure A.18‑1ReportDataObjectType
Figure A.19‑1ReportPackageType
Figure A.20‑1SelectedContentType
Figure A.21‑1SIF_EventObjectType
Figure A.22‑1SIF_ExampleObjectType
Figure A.23‑1SIF_ProvideObjectNamesType
Figure A.24‑1SIF_RequestObjectNamesType
Figure A.25‑1SIF_ResponseObjectsType
Figure A.26‑1SIF_ResponseObjectType
Figure A.27‑1SIF_SubscribeObjectNamesType
Figure A.28‑1URIOrBinaryType
Figure A.29‑1VersionType
Figure A.30‑1VersionWithWildcardsType

Appendix K: Index of Objects

AccountingPeriod 6.8.1
Activity 6.10.1
ActivityProvider 6.12.1
AggregateCharacteristicInfo 6.5.2
AggregateStatisticFact 6.5.3
AggregateStatisticInfo 6.5.1
Assessment 6.3.1
AssessmentAdministration 6.3.2
AssessmentForm 6.3.3
AssessmentItem 6.3.4
AssessmentPackage 6.3.5
AssessmentRegistration 6.3.6
AssessmentSubTest 6.3.7
Assignment 6.10.2
AttendanceCodeInfo 6.14.1
Authentication 6.9.1
Billing 6.8.2
BusEquipment 6.16.1
BusInfo 6.16.2
BusPositionInfo 6.16.3
BusRouteDetail 6.16.4
BusRouteInfo 6.16.5
BusStopInfo 6.16.6
CalendarDate 6.14.2
CalendarSummary 6.14.3
CurriculumStructure 6.10.3
DisciplineIncident 6.14.4
EmployeeAssignment 6.8.3
EmployeeContract 6.8.4
EmployeeCredential 6.12.2
EmployeeCredit 6.12.3
EmployeePersonal 6.8.5
EmployeePicture 6.8.6
EmployeeRecertification 6.12.4
EmployeeWage 6.8.7
EmploymentRecord 6.8.8
FinancialAccount 6.8.9
FinancialAccountAccountingPeriodLocationInfo 6.8.10
FinancialAnnual 6.8.11
FinancialBudget 6.8.12
FinancialClass 6.8.13
FinancialIncomeStatement 6.8.14
FinancialTransaction 6.8.15
FiscalYear 6.8.16
FoodserviceItem 6.6.1
FoodserviceItemPortion 6.6.2
FoodserviceItemSales 6.6.3
FoodserviceItemUnit 6.6.4
FoodserviceMealPrices 6.6.5
FoodserviceMenuPlan 6.6.6
FoodserviceMilkSales 6.6.7
FoodservicePurchaseTransaction 6.6.8
FoodserviceReimbursementRates 6.6.9
FoodserviceSales 6.6.10
FoodserviceStaffEnrollmentCount 6.6.11
FoodserviceStaffMealCounts 6.6.12
FoodserviceStudentEnrollmentCount 6.6.13
FoodserviceStudentMealCounts 6.6.14
FoodserviceTransaction 6.6.15
FoodserviceTransactionDetails 6.6.16
FoodserviceTransactionPayMethod 6.6.17
GradingAssignment 6.7.1
GradingAssignmentScore 6.7.2
GradingCategory 6.7.3
ItemCharacteristics 6.3.8
LEAInfo 6.14.5
LearningResource 6.10.4
LearningResourcePackage 6.10.5
LearningStandardDocument 6.10.6
LearningStandardItem 6.10.7
Lesson 6.10.8
LibraryPatronStatus 6.11.1
LocationInfo 6.8.17
MarkInfo 6.7.4
MarkValueInfo 6.7.5
OfficialStudentPeriodAttendance 6.7.6
Payment 6.8.18
ProfessionalDevelopmentActivities 6.12.5
ProfessionalDevelopmentProgram 6.12.6
ProfessionalDevelopmentRegistration 6.12.7
Purchasing 6.8.19
ReportAuthorityInfo 6.17.1
ReportManifest 6.17.2
RoomInfo 6.14.6
RoomType 6.14.7
SchoolCourseInfo 6.14.8
SchoolInfo 6.14.9
SEAInfo 6.4.6
SectionInfo 6.14.10
SectionMarkInfo 6.7.7
SIF_AgentACL 5.3.2
SIF_LogEntry 6.9.2
SIF_ReportObject 6.17.3
SIF_ZoneStatus 5.3.1
StaffAssignment 6.14.11
StaffMeal 6.6.18
StaffPersonal 6.14.12
StudentAcademicRecord 6.15.3
StudentActivityInfo 6.14.13
StudentActivityParticipation 6.14.14
StudentAttendanceSummary 6.14.15
StudentContact 6.14.16
StudentDailyAttendance 6.14.17
StudentDemographicRecord 6.15.2
StudentGrade 6.7.8
StudentLEARelationship 6.4.7
StudentLocator 6.17.4
StudentMeal 6.6.19
StudentParticipation 6.13.1
StudentPeriodAttendance 6.7.9
StudentPersonal 6.14.18
StudentPicture 6.14.19
StudentPlacement 6.13.2
StudentRecordExchange 6.15.1
StudentRecordPackage 6.15.5
StudentResponseSet 6.3.9
StudentSchoolEnrollment 6.14.20
StudentScoreSet 6.3.10
StudentSectionEnrollment 6.14.21
StudentSectionMarks 6.7.10
StudentSnapshot 6.14.22
StudentSpecialEducationRecord 6.15.4
StudentTransportInfo 6.16.7
TermInfo 6.14.23
TestAccommodation 6.13.3
TimeWorked 6.8.20
VendorInfo 6.8.21
W4 6.8.22

128 Total

Appendix L: Index of Common Elements

Address 6.2.1
AddressList 6.2.2
BirthDate 6.2.3
CongressionalDistrict 6.2.4
ContactInfo 6.2.5
Country 6.2.6
CourseCode 6.2.7
CourseCredits 6.2.8
CourseTitle 6.2.9
Demographics 6.2.10
DistrictCourseCode 6.2.11
EarnedStatus 6.2.12
EconomicDisadvantage 6.2.13
EducationalLevel 6.2.14
EducationFilter 6.4.5
ElectronicId 6.2.15
ElectronicIdList 6.2.16
ELL 6.2.17
Email 6.2.18
EmailList 6.2.19
EnglishProficiency 6.2.20
EntryDate 6.2.21
ExceptionalityCategories 6.2.22
ExitDate 6.2.23
FirstName 6.2.24
Gender 6.2.25
GiftedTalented 6.2.26
GradeLevel 6.2.27
GradeLevels 6.2.28
GraduationDate 6.2.29
GraduationRequirement 6.2.30
GridLocation 6.2.31
HispanicLatino 6.2.32
Homeless 6.2.33
HomeroomNumber 6.2.34
IDEA 6.2.35
IdentificationInfo 6.2.36
IdentificationInfoList 6.2.37
Immigrant 6.2.38
InstructionalLevel 6.2.39
LanguageList 6.2.40
LastName 6.2.41
LEAName 6.2.42
LifeCycle 6.4.3
LocalId 6.2.43
Location 6.2.44
MealStatus 6.2.45
MealType 6.2.46
MeetingTime 6.2.47
MiddleName 6.2.48
Migrant 6.2.49
Name 6.2.50
NCESId 6.2.51
NeglectedDelinquent 6.2.52
OnTimeGraduationYear 6.2.53
OperationalStatus 6.2.54
OtherCodeList 6.2.55
OtherId 6.2.56
OtherNames 6.2.57
PhoneNumber 6.2.58
PhoneNumberList 6.2.59
PlannedAssessmentParticipation 6.2.60
PrimaryAssignment 6.2.61
Program 6.2.62
ProgramStatus 6.2.63
ProgramType 6.2.64
ProjectedGraduationYear 6.2.65
PublishInDirectory 6.2.66
RaceList 6.2.67
Relationship 6.2.68
RightsElement 6.4.4
SCEDCode 6.2.69
SchoolContactList 6.2.70
SchoolName 6.2.71
SchoolURL 6.2.72
SchoolYear 6.2.73
Section504 6.2.74
SIF_AuthenticationLevel 5.1.4
SIF_Context 5.1.6
SIF_Contexts 5.1.5
SIF_EncryptionLevel 5.1.3
SIF_Error 5.1.9
SIF_ExtendedElements 6.2.75
SIF_ExtendedQuery 5.1.11
SIF_ExtendedQueryResults 5.1.12
SIF_Header 5.1.2
SIF_Message 5.1.1
SIF_Metadata 6.4.1
SIF_Protocol 5.1.7
SIF_Query 5.1.10
SIF_Status 5.1.8
SSN 6.2.76
StateCourseCode 6.2.77
StateProvince 6.2.78
StateProvinceId 6.2.79
SubjectArea 6.2.80
SubjectAreaList 6.2.81
TermSpan 6.2.82
TimeElement 6.4.2
Title1 6.2.83
VocationalConcentrator 6.2.84

101 Total

Appendix M: Index of Common Types

AbstractContentElementType A.1
AbstractContentPackageType A.2
BaseNameType A.3
DefinedProtocolsType A.4
ExtendedContentType A.5
FSAmountType A.6
FSCountType A.7
GUIDType A.8
IdRefType A.9
MonetaryAmountType A.10
MsgIdType A.11
NameOfRecordType A.12
ObjectNameType A.13
OrganizationRelationshipType A.14
OtherNameType A.15
PartialDateType A.16
RefIdType A.17
ReportDataObjectType A.18
ReportPackageType A.19
SelectedContentType A.20
SIF_EventObjectType A.21
SIF_ExampleObjectType A.22
SIF_ProvideObjectNamesType A.23
SIF_RequestObjectNamesType A.24
SIF_ResponseObjectsType A.25
SIF_ResponseObjectType A.26
SIF_SubscribeObjectNamesType A.27
URIOrBinaryType A.28
VersionType A.29
VersionWithWildcardsType A.30

30 Total

Appendix N: Index of Elements

AbsenceValue 6.14.1‑1.8
AbstractContentElementType A.1‑1.1
AbstractContentPackageType A.2‑1.1
AcademicFoci 6.15.3‑1.195
AcademicFocus 6.15.3‑1.196
AcademicPerformanceHistory 6.15.3‑1.161
AcademicPerformanceSummary 6.15.3‑1.181
AcademicSubject 6.15.3‑1.200
AcademicSubjects 6.15.3‑1.199
AcademicTrack 6.15.3‑1.194
AcceptableUsePolicy 6.14.18‑1.28
AccessToRecords 6.14.16‑1.21
Accommodation 6.13.3‑1.28
AccommodationCategory 6.13.3‑1.31
Accommodations 6.13.3‑1.27
AccountClass 6.8.12‑1.7
AccountCode 6.8.19‑1.17
AccountingPeriod 6.8.1‑1.1
AccountingPeriodRefId 6.8.10‑1.4
AccountNumber 6.8.9‑1.3
AccountType 6.8.11‑1.7
AccreditingBody 6.15.3‑1.41
Action 6.14.4‑1.39
ActionList 6.14.4‑1.38
Active 6.8.8‑1.5
Activity 6.10.1‑1.1
ActivityAward 6.15.3‑1.220
ActivityAwardHistory 6.15.3‑1.219
ActivityHours 6.12.4‑1.8
ActivityName 6.12.4‑1.6
ActivityProvider 6.12.1‑1.1
ActivityRefId 6.10.8‑1.20
ActivityTime 6.10.1‑1.23
ActivityType 6.12.4‑1.7
ActivityWeight 6.10.1‑1.32
ActualTestAdministrationDate 6.13.3‑1.20
AdditionalGraduationRequirementPerformanceHistory 6.15.3‑1.213
Address 6.2.1‑1.1,  6.2.2‑1.2,  6.2.5‑1.14,  6.3.2‑1.13,  6.10.4‑1.9,  6.10.8‑1.30,  6.12.1‑1.6,  6.14.22‑1.8,  6.17.1‑1.8,  6.17.3‑1.14,  6.17.4‑1.13
AddressList 6.2.2‑1.1,  6.4.6‑1.13,  6.8.5‑1.9,  6.8.17‑1.17,  6.14.5‑1.16,  6.14.9‑1.18,  6.14.12‑1.13,  6.14.16‑1.11,  6.14.18‑1.18,  6.15.2‑1.21,  6.15.2‑1.38,  6.15.2‑1.42,  6.15.3‑1.13,  6.15.3‑1.19,  6.15.3‑1.37,  6.15.4‑1.30
AddToGradeBookFlag 6.10.2‑1.32
AdministrationDate 6.10.2‑1.30,  6.15.3‑1.206
AdministrationDateTime 6.3.2‑1.9
AdministrationName 6.3.2‑1.4
AdministratorAttendance 6.14.2‑1.16
Advisor 6.14.20‑1.15,  6.15.3‑1.9
Age 6.14.22‑1.13
Agencies 6.6.9‑1.7
Agency 6.6.9‑1.8
AgencyIdNumber 6.4.6‑1.17
AgencyReporting 6.14.4‑1.4
AgencyType 6.13.2‑1.23
AggregateCharacteristicInfo 6.5.2‑1.1
AggregateCharacteristicInfoRefId 6.5.3‑1.5
AggregateStatisticFact 6.5.3‑1.1
AggregateStatisticInfo 6.5.1‑1.1
AggregateStatisticInfoRefId 6.5.3‑1.3
AgreementDate 6.10.4‑1.22
AlertMessage 6.14.18‑1.4
AlertMessages 6.14.18‑1.3
AlternateIdentificationCode 6.10.7‑1.29
AlternateIdentificationCodes 6.10.7‑1.28
AlternativeEducation 6.14.4‑1.50
Amount 6.6.15‑1.14,  6.6.16‑1.5,  6.6.17‑1.8,  6.6.18‑1.7,  6.6.19‑1.9,  6.8.7‑1.7,  6.8.11‑1.14,  6.8.14‑1.10,  6.8.15‑1.6,  6.8.19‑1.18,  6.11.1‑1.22,  A.7‑1.5
Amounts 6.6.16‑1.4,  6.6.17‑1.7,  6.6.18‑1.6,  6.6.19‑1.8,  6.8.14‑1.9,  6.8.15‑1.5
AnnualItem 6.8.11‑1.6
AnnualItems 6.8.11‑1.5
ApartmentNumber 6.2.1‑1.15
ApartmentNumberPrefix 6.2.1‑1.14
ApartmentNumberSuffix 6.2.1‑1.16
ApartmentType 6.2.1‑1.13
Approval 6.10.4‑1.24
ApprovalDate 6.5.1‑1.6
Approvals 6.10.4‑1.23
AreaAuthorized 6.12.2‑1.13
Arrest 6.14.4‑1.49
ArrivalTime 6.16.4‑1.5,  6.16.7‑1.16,  6.16.7‑1.33
Assessed 6.11.1‑1.20
Assessment 6.3.1‑1.1,  6.15.3‑1.204
AssessmentAdministration 6.3.2‑1.1
AssessmentDescriptor 6.3.1‑1.7
AssessmentDescriptors 6.3.1‑1.6
AssessmentForm 6.3.3‑1.1
AssessmentGradeLevel 6.3.6‑1.10
AssessmentId 6.3.1‑1.4
AssessmentItem 6.3.4‑1.1
AssessmentPackage 6.3.5‑1.1
AssessmentPackageRefId 6.3.1‑1.5
AssessmentPerformanceHistory 6.15.3‑1.203
AssessmentRefId 6.10.1‑1.30
AssessmentRegistration 6.3.6‑1.1
AssessmentRegistrationRefId 6.13.3‑1.12
AssessmentStudentSnapshot 6.3.6‑1.11
AssessmentSubTest 6.3.7‑1.1
AssessmentSubTestRefId 6.3.3‑1.12,  6.3.7‑1.18
AssessmentSubTestRefIds 6.3.3‑1.11,  6.3.7‑1.17
AssessmentType 6.3.3‑1.4
Assignment 6.10.2‑1.1,  6.12.2‑1.28
AssignmentDays 6.8.4‑1.9
Assignments 6.12.2‑1.27
AssignmentTime 6.10.2‑1.22
AssistiveTechnology 6.13.2‑1.45
AssociatedObject 6.10.4‑1.41
AssociatedObjects 6.10.4‑1.40
AttendanceCode 6.7.9‑1.10,  6.14.1‑1.4
AttendanceCodeInfo 6.14.1‑1.1
AttendanceCodeInfoRefId 6.14.17‑1.6
AttendanceComment 6.7.9‑1.17
AttendanceNote 6.14.17‑1.9
AttendanceStatus 6.14.1‑1.6
AttendanceTerm 6.14.23‑1.14
AttendanceType 6.14.1‑1.5
AttendanceValue 6.14.2‑1.12,  6.14.2‑1.15,  6.14.2‑1.18
AuditInfo 6.7.9‑1.12
Authentication 6.9.1‑1.1
AuthenticationInfo 6.9.1‑1.5
Author 6.10.4‑1.5,  6.10.6‑1.10,  6.10.8‑1.27,  6.11.1‑1.11
AuthorityDepartment 6.17.1‑1.5
AuthorityId 6.17.1‑1.4
AuthorityLevel 6.17.1‑1.6
AuthorityName 6.17.1‑1.3
AuthorizedActual 6.13.3‑1.19
Authors 6.10.6‑1.9
AvailableCredit 6.2.69‑1.4
BackgroundCheck 6.12.2‑1.23
BackgroundChecks 6.12.2‑1.22
BaseNameType A.3‑1.1
BaseSalary 6.8.4‑1.4
BeginReportDate 6.17.2‑1.11
BeginSubmitDate 6.17.2‑1.13
Benchmark 6.10.7‑1.25
BilledAmount 6.8.2‑1.7
BilledEntity 6.8.2‑1.3
Billing 6.8.2‑1.1
BillingDate 6.8.2‑1.5
BinaryData A.1‑1.8,  A.2‑1.9
BIPDate 6.13.1‑1.55
BirthDate 6.2.3‑1.1,  6.2.10‑1.5,  6.3.6‑1.15,  6.14.22‑1.12,  6.15.2‑1.18
BirthDateVerification 6.2.10‑1.6
Biserial 6.3.8‑1.9
BloomsTaxonomyLevel 6.4.5‑1.12
BloomsTaxonomyLevels 6.4.5‑1.11
BudgetAccount 6.8.12‑1.6
BudgetAccounts 6.8.12‑1.5
BudgetAmount 6.8.12‑1.11
Building 6.14.6‑1.8
BusDriver 6.16.3‑1.9
BusEquipment 6.16.1‑1.1
BusEquipmentRefId 6.16.2‑1.8
BusInfo 6.16.2‑1.1
BusInfoRefId 6.16.5‑1.3
BusPositionInfo 6.16.3‑1.1
BusRouteDetail 6.16.4‑1.1
BusRouteInfo 6.16.5‑1.1
BusRouteInfoRefId 6.16.3‑1.19
BusStaff 6.16.3‑1.14
BusStaffList 6.16.3‑1.13
BusStopDescription 6.16.7‑1.20,  6.16.7‑1.37
BusStopInfo 6.16.6‑1.1
BusStopInfoRefId 6.16.4‑1.4
By 6.4.3‑1.10
C 5.1.12‑1.9
CalculationDate 6.17.3‑1.5
CalculationRule 6.5.1‑1.4
Calendar 6.14.20‑1.19
CalendarDate 6.14.2‑1.1
CalendarDateNumber 6.14.2‑1.9
CalendarDateType 6.14.2‑1.6
CalendarSummary 6.14.3‑1.1
CallNumber 6.11.1‑1.13
Capacity 6.14.6‑1.11
Certification 6.12.2‑1.11
Certifications 6.12.2‑1.10
Characteristics 6.5.3‑1.4
ChargeToChild 6.6.7‑1.11
CheckoutInfo 6.11.1‑1.15
Choice 6.3.4‑1.12,  6.3.8‑1.15
ChoiceContent 6.3.4‑1.14
ChoiceLabel 6.3.4‑1.13,  6.3.8‑1.16
CitizenshipStatus 6.2.10‑1.16
City 6.2.1‑1.17
ClassRank 6.15.3‑1.188
ClassRankingDate 6.15.3‑1.190
ClassTotalNumber 6.15.3‑1.189
ClassType 6.8.13‑1.5
ClockHours 6.12.5‑1.11
CMH 6.3.8‑1.12
Code 6.2.10‑1.20,  6.2.20‑1.2,  6.2.22‑1.3,  6.2.27‑1.2,  6.2.39‑1.2,  6.2.40‑1.3,  6.2.63‑1.2,  6.2.64‑1.2,  6.2.67‑1.3,  6.2.68‑1.2,  6.2.80‑1.2,  6.2.82‑1.2,  6.4.2‑1.3,  6.4.2‑1.11,  6.4.7‑1.10,  6.4.7‑1.14,  6.4.7‑1.17,  6.7.5‑1.20,  6.8.3‑1.11,  6.8.3‑1.14,  6.8.3‑1.17,  6.8.20‑1.6,  6.12.2‑1.32,  6.13.1‑1.8,  6.13.1‑1.16,  6.13.1‑1.21,  6.13.1‑1.25,  6.13.1‑1.37,  6.13.1‑1.45,  6.13.1‑1.50,  6.13.1‑1.58,  6.13.2‑1.7,  6.13.2‑1.12,  6.13.2‑1.21,  6.13.2‑1.26,  6.13.2‑1.29,  6.13.2‑1.35,  6.13.3‑1.25,  6.13.3‑1.29,  6.13.3‑1.32,  6.14.2‑1.7,  6.14.4‑1.25,  6.14.4‑1.40,  6.14.5‑1.9,  6.14.10‑1.17,  6.14.10‑1.20,  6.14.10‑1.23,  6.14.11‑1.12,  6.14.11‑1.15,  6.14.13‑1.6,  6.14.20‑1.10,  6.14.20‑1.23,  6.14.20‑1.26,  6.14.20‑1.34,  6.15.3‑1.56,  6.15.3‑1.197,  6.15.3‑1.201,  A.14‑1.3
Complex 6.2.1‑1.7
Component 6.10.4‑1.34
ComponentObject 6.10.3‑1.17
ComponentObjects 6.10.3‑1.16
Components 6.10.4‑1.33
Confidence 6.17.4‑1.5
CongressionalDistrict 6.2.4‑1.1,  6.14.5‑1.20,  6.14.9‑1.25
Contact 6.10.4‑1.7,  6.17.4‑1.15
ContactFlags 6.14.16‑1.17
ContactInfo 6.2.5‑1.1,  6.2.70‑1.4,  6.4.6‑1.11,  6.8.21‑1.4,  6.14.5‑1.14,  6.17.1‑1.7,  6.17.3‑1.13
ContactName 6.14.9‑1.15
Contacts 6.10.4‑1.6
ContactSequence 6.14.16‑1.26
ContactTitle 6.14.9‑1.16
ContractDays 6.8.4‑1.8
ContractEndDate 6.8.4‑1.6
Contractor 6.16.2‑1.5
ContractStartDate 6.8.4‑1.5
ContractTerm 6.8.4‑1.7
Copyright 6.10.6‑1.19
CopyrightStatement 6.4.4‑1.9
CoreAcademicCourse 6.14.8‑1.13,  6.15.3‑1.89,  6.15.3‑1.133
Cost 6.4.4‑1.2,  6.6.3‑1.12
Counselor 6.14.20‑1.17,  6.15.3‑1.15
Count 6.6.11‑1.6,  6.6.12‑1.7,  6.6.13‑1.6,  6.6.14‑1.7,  6.16.2‑1.9
CountriesOfCitizenship 6.2.10‑1.11
CountriesOfResidency 6.2.10‑1.13
Country 6.2.1‑1.20,  6.2.6‑1.1,  6.10.7‑1.5
CountryArrivalDate 6.2.10‑1.15
CountryOfBirth 6.2.10‑1.10
CountryOfCitizenship 6.2.10‑1.12
CountryOfResidency 6.2.10‑1.14
Counts 6.6.11‑1.5,  6.6.12‑1.6,  6.6.13‑1.5,  6.6.14‑1.6
CountsTowardAttendance 6.14.2‑1.11,  6.14.2‑1.14,  6.14.2‑1.17
County 6.2.1‑1.18
CountyOfBirth 6.2.10‑1.8
Course 6.15.3‑1.78,  6.15.3‑1.122
CourseCode 6.2.7‑1.1,  6.14.8‑1.5,  6.14.10‑1.28,  6.15.3‑1.81,  6.15.3‑1.125
CourseCredits 6.2.8‑1.1,  6.14.8‑1.12,  6.14.10‑1.34
CourseCreditsAttempted 6.15.3‑1.109,  6.15.3‑1.155
CourseCreditsEarned 6.15.3‑1.156
CourseDescription 6.2.69‑1.2
CourseHistory 6.15.3‑1.110
CourseLevel 6.2.69‑1.3
Courses 6.15.3‑1.77,  6.15.3‑1.121
CourseTitle 6.2.9‑1.1,  6.14.8‑1.9,  6.14.10‑1.32,  6.15.3‑1.86,  6.15.3‑1.130
Created 6.4.3‑1.2
CreateDate 6.7.1‑1.9
CreationDate 6.8.9‑1.7,  6.10.1‑1.24,  6.10.2‑1.23
CreationDateTime 6.3.6‑1.5,  6.7.9‑1.16
CreationTime 6.8.9‑1.8
CreationUser 6.7.9‑1.13
Creator 6.4.3‑1.5
Creators 6.4.3‑1.4
Credits 6.12.5‑1.12
CreditsAttempted 6.14.21‑1.14,  6.15.3‑1.172
CreditsEarned 6.15.3‑1.173
CreditType 6.15.3‑1.157
CreditValue 6.3.4‑1.15
CSSOContact 6.4.6‑1.7
CumulativeGPA 6.15.3‑1.186
CumulativeGPACreditsEarned 6.15.3‑1.184
CumulativeGradePoints 6.15.3‑1.185
CurrentCourseActivity 6.15.3‑1.67
CurricularStatus 6.14.13‑1.10
CurriculumHierarchyLevel 6.10.3‑1.8
CurriculumStructure 6.10.3‑1.1
CurriculumStructureRefId 6.10.3‑1.13,  6.10.8‑1.8
CurriculumStructures 6.10.8‑1.7
Customer 6.6.15‑1.9
CustomerId 6.8.21‑1.5
CutScores 6.3.7‑1.11
Date 6.6.3‑1.4,  6.6.7‑1.4,  6.6.10‑1.4,  6.6.12‑1.4,  6.6.14‑1.4,  6.10.4‑1.26,  6.10.4‑1.31,  6.10.6‑1.20,  6.12.2‑1.25,  6.16.3‑1.3
DateFrom 6.12.4‑1.11
DateNeeded 6.11.1‑1.28
DatePlaced 6.11.1‑1.27
DateTime 6.4.3‑1.3,  6.4.3‑1.11
DateTo 6.12.4‑1.12
DaysAbsent 6.15.3‑1.159,  6.15.3‑1.179
DaysAttended 6.14.15‑1.11
DaysInMembership 6.14.15‑1.15
DaysInSession 6.14.3‑1.7
DaysPresent 6.15.3‑1.160,  6.15.3‑1.180
DaysTardy 6.14.15‑1.14
DefinedProtocolsType A.4‑1.1
Definition 6.5.2‑1.4
Demographics 6.2.10‑1.1,  6.8.5‑1.8,  6.12.2‑1.7,  6.12.4‑1.5,  6.14.12‑1.11,  6.14.16‑1.10,  6.14.18‑1.17,  6.17.4‑1.14
DemographicsData 6.15.2‑1.15
Department 6.14.8‑1.15,  6.15.3‑1.91,  6.15.3‑1.135
Description 6.4.3‑1.12,  6.5.2‑1.3,  6.6.1‑1.4,  6.6.2‑1.6,  6.6.4‑1.4,  6.6.6‑1.7,  6.6.15‑1.16,  6.6.16‑1.6,  6.7.1‑1.7,  6.7.3‑1.6,  6.7.4‑1.6,  6.7.5‑1.22,  6.8.1‑1.4,  6.8.3‑1.4,  6.8.9‑1.5,  6.8.13‑1.4,  6.8.15‑1.10,  6.8.16‑1.3,  6.8.17‑1.6,  6.10.1‑1.35,  6.10.3‑1.6,  6.10.3‑1.11,  6.10.4‑1.15,  6.10.4‑1.30,  6.10.4‑1.37,  6.10.6‑1.5,  6.10.7‑1.11,  6.10.8‑1.13,  6.11.1‑1.21,  6.12.2‑1.12,  6.12.2‑1.26,  6.12.5‑1.10,  6.14.1‑1.7,  6.14.3‑1.6,  6.14.6‑1.7,  6.14.7‑1.4,  6.14.8‑1.10,  6.14.10‑1.6,  6.14.11‑1.6,  6.14.13‑1.4,  6.14.23‑1.7,  6.15.3‑1.58,  6.15.3‑1.73,  6.15.3‑1.87,  6.15.3‑1.98,  6.15.3‑1.117,  6.15.3‑1.131,  6.15.3‑1.144,  6.15.3‑1.167,  6.16.1‑1.3,  6.16.5‑1.7,  6.16.6‑1.3,  6.17.2‑1.9,  6.17.3‑1.17
Descriptive 6.3.8‑1.5
DestinationPoint 6.16.7‑1.31
DetailedDescription 6.7.1‑1.12
DiagnosticStatement 6.3.9‑1.15,  6.3.10‑1.11
Dialect 6.2.40‑1.6
DifferentialItemAnalysis 6.3.8‑1.11
DiplomaCredentialHonorsCode 6.15.3‑1.228
DiplomaCredentialHonorsDescription 6.15.3‑1.229
DirectTime 6.13.2‑1.37
DisciplinaryContact 6.14.16‑1.24
DisciplineIncident 6.14.4‑1.1
DiscontinueDate 6.5.1‑1.13
DiscriminationIndex 6.3.8‑1.10
DisembarkBusRouteDetail 6.16.7‑1.27
DistinguishedName 6.9.1‑1.9
DistrictCourseCode 6.2.11‑1.1,  6.14.8‑1.7,  6.14.10‑1.30,  6.15.3‑1.83,  6.15.3‑1.127
DistrictEntryDate 6.15.3‑1.21
DocumentDate 6.10.6‑1.15
DocumentStatus 6.10.6‑1.14
DueDate 6.7.1‑1.10,  6.10.1‑1.29,  6.10.2‑1.28,  6.17.2‑1.15
DueDateTime 6.3.2‑1.12
DueTime 6.10.2‑1.29
DueToDisability 6.14.4‑1.37
Duration 6.10.1‑1.25,  6.10.2‑1.24,  6.10.8‑1.11,  6.14.4‑1.44
DwellingArrangement 6.2.10‑1.19
Earned 6.12.3‑1.6,  6.12.4‑1.9
EarnedStatus 6.2.12‑1.1,  6.6.15‑1.13,  6.6.18‑1.3,  A.7‑1.3
EconomicDisadvantage 6.2.13‑1.1,  6.14.18‑1.33,  6.14.22‑1.35,  6.15.2‑1.27
EDENInfo 6.4.6‑1.15
Education 6.12.2‑1.19
EducationAgencyType 6.14.5‑1.8
EducationalLevel 6.2.14‑1.1,  6.14.16‑1.16,  6.17.4‑1.19
EducationFilter 6.4.1‑1.7,  6.4.5‑1.1
EffectiveDate 6.5.1‑1.12,  6.17.4‑1.20
ElectronicId 6.2.15‑1.1,  6.2.16‑1.2,  6.11.1‑1.12
ElectronicIdList 6.2.16‑1.1,  6.6.1‑1.5,  6.11.1‑1.5,  6.14.12‑1.5,  6.14.18‑1.11
ElementName 6.5.2‑1.5
Eligibility 6.16.7‑1.7
ELL 6.2.17‑1.1,  6.3.6‑1.17,  6.14.18‑1.34,  6.14.22‑1.36,  6.15.2‑1.28
Email 6.2.18‑1.1,  6.2.19‑1.2,  6.10.4‑1.11,  6.10.8‑1.31
EmailList 6.2.5‑1.15,  6.2.19‑1.1,  6.8.5‑1.11,  6.14.12‑1.15,  6.14.16‑1.13,  6.14.18‑1.20
EmbarkBusRouteDetail 6.16.7‑1.25
EmergencyContact 6.14.16‑1.22
EmployeeAssignment 6.8.3‑1.1
EmployeeContract 6.8.4‑1.1
EmployeeCredential 6.12.2‑1.1
EmployeeCredit 6.12.3‑1.1
EmployeePersonal 6.8.5‑1.1
EmployeePersonalRefId 6.8.19‑1.8,  6.8.20‑1.3,  6.8.21‑1.6,  6.14.11‑1.20,  6.14.12‑1.16,  6.16.3‑1.11,  6.16.3‑1.16
EmployeePicture 6.8.6‑1.1
EmployeeRecertification 6.12.4‑1.1
EmployeeWage 6.8.7‑1.1
EmployerType 6.14.16‑1.15
EmploymentRecord 6.8.8‑1.1
EndDate 6.2.12‑1.4,  6.2.45‑1.4,  6.6.9‑1.5,  6.8.1‑1.7,  6.8.14‑1.8,  6.8.16‑1.5,  6.12.3‑1.5,  6.12.5‑1.9,  6.13.2‑1.33,  6.14.3‑1.9,  6.14.4‑1.43,  6.14.14‑1.8,  6.14.15‑1.7,  6.14.23‑1.6,  6.15.3‑1.72,  6.15.3‑1.93,  6.15.3‑1.97,  6.15.3‑1.116,  6.15.3‑1.137,  6.15.3‑1.143,  6.15.3‑1.166,  6.17.4‑1.22
EndDateTime 6.4.2‑1.7,  6.4.2‑1.15
EndDay 6.14.15‑1.8
EndOfLifeDate 6.10.6‑1.18
EndReportDate 6.17.2‑1.12
EndSubmitDate 6.17.2‑1.14
EnglishProficiency 6.2.10‑1.17,  6.2.20‑1.1,  6.15.2‑1.19
EnrollmentHistory 6.15.3‑1.61
EntryDate 6.2.21‑1.1,  6.4.7‑1.8,  6.14.20‑1.8,  6.14.21‑1.6,  6.15.3‑1.65
EntryPerson 6.13.1‑1.67,  6.13.2‑1.46
EntryType 6.4.7‑1.9,  6.14.20‑1.9
Equipment 6.16.2‑1.7
EquipmentList 6.16.2‑1.6
EssentialMaterial 6.10.1‑1.7,  6.10.2‑1.10
EssentialMaterials 6.10.1‑1.6,  6.10.2‑1.9
Evaluation 6.10.1‑1.33,  6.10.4‑1.28
EvaluationDate 6.13.1‑1.30,  6.15.4‑1.34
EvaluationExtensionDate 6.13.1‑1.31
EvaluationParentalConsentDate 6.13.1‑1.29
Evaluations 6.10.4‑1.27
ExceptionalityCategories 6.2.22‑1.1,  6.13.1‑1.34,  6.15.4‑1.36
ExceptionalityCategory 6.2.22‑1.2
ExceptionalityPriority 6.2.22‑1.5
ExcessiveAbsenceIndicator 6.15.3‑1.158
Excluded 6.5.3‑1.6
ExclusionRule 6.5.1‑1.9
ExclusionRules 6.5.1‑1.8
ExcusedAbsences 6.14.15‑1.12
Exempt 6.8.22‑1.8
ExitDate 6.2.23‑1.1,  6.4.7‑1.12,  6.14.20‑1.21,  6.14.21‑1.7,  6.15.3‑1.66
ExitStatus 6.4.7‑1.16,  6.14.20‑1.22
ExitType 6.4.7‑1.13,  6.14.20‑1.25
ExpenditureArea 6.8.11‑1.10
ExpenseAccount 6.8.19‑1.16
ExpenseAccounts 6.8.19‑1.15
ExpirationDate 6.5.1‑1.7
Expires 6.11.1‑1.30
ExtendedContentType A.5‑1.1
ExtendedDay 6.13.1‑1.48
ExtendedSchoolYear 6.13.1‑1.47
Extension 6.2.58‑1.4
ExtensionComments 6.13.1‑1.32
FBADate 6.13.1‑1.54
FederalAllowancesNumber 6.8.22‑1.5
FederalTaxId 6.8.21‑1.8
FeeForUse 6.4.4‑1.4
FeesForUse 6.4.4‑1.3
FinancialAccount 6.8.9‑1.1
FinancialAccountAccountingPeriodLocationInfo 6.8.10‑1.1
FinancialAccountRefId 6.8.10‑1.3
FinancialAnnual 6.8.11‑1.1
FinancialBudget 6.8.12‑1.1
FinancialClass 6.8.13‑1.1
FinancialClassRefId 6.8.9‑1.6
FinancialIncomeStatement 6.8.14‑1.1
FinanciallyResponsible A.14‑1.7
FinancialTransaction 6.8.15‑1.1
FineAmount 6.11.1‑1.39
FineInfo 6.11.1‑1.18
FineInfoList 6.11.1‑1.17
FinishDate 6.10.1‑1.28
FinishDateTime 6.3.2‑1.11
FIPSStateCode 6.4.6‑1.16
FirstInstructionDate 6.14.3‑1.10
FirstName 6.2.5‑1.6,  6.2.24‑1.1,  A.3‑1.4
FiscalYear 6.8.11‑1.4,  6.8.12‑1.4,  6.8.16‑1.1
FiscalYearRefId 6.8.1‑1.5,  6.8.19‑1.5
FoodserviceItem 6.6.1‑1.1
FoodserviceItemPortion 6.6.2‑1.1
FoodserviceItemRefId 6.6.4‑1.3
FoodserviceItemSales 6.6.3‑1.1
FoodserviceItemUnit 6.6.4‑1.1
FoodserviceItemUnitRefId 6.6.2‑1.3
FoodserviceMealPrices 6.6.5‑1.1
FoodserviceMenuPlan 6.6.6‑1.1
FoodserviceMilkSales 6.6.7‑1.1
FoodservicePurchaseTransaction 6.6.8‑1.1
FoodserviceReimbursementRates 6.6.9‑1.1
FoodserviceSales 6.6.10‑1.1
FoodserviceStaffEnrollmentCount 6.6.11‑1.1
FoodserviceStaffMealCounts 6.6.12‑1.1
FoodserviceStudentEnrollmentCount 6.6.13‑1.1
FoodserviceStudentMealCounts 6.6.14‑1.1
FoodserviceTransaction 6.6.15‑1.1
FoodserviceTransactionDetails 6.6.16‑1.1
FoodserviceTransactionPayMethod 6.6.17‑1.1
FoodserviceTransactionRefId 6.6.8‑1.3,  6.6.16‑1.3,  6.6.17‑1.3
Form 6.15.3‑1.207
FormName 6.3.3‑1.5
FormNumber 6.3.3‑1.7,  6.8.19‑1.4
FormNumbers 6.3.3‑1.6
FormType 6.8.19‑1.3
FreeAndReducedStatus 6.14.22‑1.42
FrequencyTime 6.13.2‑1.34
FSAmountType A.6‑1.1
FSCountType A.7‑1.1
FTE 6.12.2‑1.34,  6.14.15‑1.10,  6.14.20‑1.31
FTPTStatus 6.14.20‑1.32
FullName 6.2.5‑1.11,  A.3‑1.9
FullTimeStatus 6.8.8‑1.6
FullYearEnrollment 6.14.22‑1.30
FullYearExpulsion 6.14.4‑1.46
Function 6.8.11‑1.11
FunctionBreakdown 6.8.12‑1.9
FundBreakdown 6.8.12‑1.8
FundingSource 6.8.3‑1.16,  6.12.5‑1.14,  6.12.6‑1.8
FundType 6.8.11‑1.8
Gender 6.2.10‑1.4,  6.2.25‑1.1,  6.3.6‑1.14,  6.14.22‑1.11,  6.15.2‑1.17
GenerationDate 6.8.14‑1.3
GenerationTime 6.8.14‑1.4
GiftedEligibilityCriteria 6.13.1‑1.28
GiftedTalented 6.2.26‑1.1,  6.14.18‑1.32,  6.14.22‑1.34,  6.15.2‑1.26
GLAmountType 6.8.11‑1.16
GPA 6.15.3‑1.177
GPACreditsAttempted 6.15.3‑1.174
GPACreditsEarned 6.15.3‑1.175
GPAGradePoints 6.15.3‑1.176
GPAType 6.15.3‑1.187
Grade 6.7.8‑1.7
GradeLevel 6.2.27‑1.1,  6.2.28‑1.2,  6.4.7‑1.20,  6.10.7‑1.26,  6.13.3‑1.11,  6.14.18‑1.27,  6.14.20‑1.12,  6.14.22‑1.26,  6.15.3‑1.8,  6.17.4‑1.10
GradeLevels 6.2.28‑1.1,  6.3.3‑1.10,  6.3.7‑1.16,  6.4.5‑1.4,  6.6.3‑1.11,  6.6.5‑1.10,  6.6.6‑1.4,  6.10.4‑1.16,  6.10.6‑1.22,  6.10.7‑1.18,  6.10.7‑1.24,  6.12.2‑1.30,  6.14.3‑1.15,  6.14.5‑1.18,  6.14.9‑1.22,  6.14.11‑1.17,  6.14.13‑1.9,  6.15.3‑1.40
GradeLevelWhenTaken 6.15.3‑1.102,  6.15.3‑1.148,  6.15.3‑1.171
GradingAssignment 6.7.1‑1.1
GradingAssignmentScore 6.7.2‑1.1
GradingCategory 6.7.3‑1.1
GraduationAward 6.14.22‑1.17
GraduationDate 6.2.29‑1.1,  6.14.3‑1.12,  6.14.18‑1.23,  6.14.22‑1.16,  6.15.3‑1.192,  6.17.4‑1.23
GraduationDiplomaType 6.15.3‑1.193
GraduationOnTime 6.14.22‑1.18
GraduationRequirement 6.2.30‑1.1,  6.14.8‑1.14,  6.15.3‑1.90,  6.15.3‑1.134
GramWeight 6.6.4‑1.6
GridLocation 6.2.1‑1.22,  6.2.31‑1.1,  6.16.3‑1.5,  6.16.6‑1.4
GUIDType A.8‑1.1
HasCustody 6.14.16‑1.23
High 6.7.5‑1.15,  6.7.8‑1.12,  6.15.3‑1.53
HireDate 6.8.8‑1.7
Hispanic 6.12.2‑1.9
HispanicLatino 6.2.10‑1.3,  6.2.32‑1.1,  6.3.6‑1.13,  6.14.22‑1.10
HistoricalMealStatus 6.6.19‑1.4
Holder 6.10.6‑1.21
HoldInfo 6.11.1‑1.25
HoldInfoList 6.11.1‑1.24
HomeBusRouteDetail 6.16.7‑1.21
HomeEnrollment 6.14.22‑1.19
Homeless 6.2.33‑1.1,  6.14.18‑1.35,  6.14.22‑1.37,  6.15.2‑1.29
Homeroom 6.14.20‑1.13,  6.14.22‑1.27
HomeroomLocalId 6.14.18‑1.26
HomeroomNumber 6.2.34‑1.1,  6.14.6‑1.9,  6.14.22‑1.29
HomeToSchoolDistance 6.16.7‑1.8
HonorsDescription 6.15.3‑1.227
HonorsInformationCode 6.15.3‑1.226
ID 6.4.3‑1.7
IDEA 6.2.35‑1.1,  6.14.18‑1.29,  6.14.22‑1.31,  6.15.2‑1.23
IdentificationInfo 6.2.36‑1.1,  6.2.37‑1.2
IdentificationInfoList 6.2.37‑1.1,  6.8.17‑1.8,  6.14.5‑1.17,  6.14.9‑1.20,  6.15.3‑1.39
IdRefType A.9‑1.1
Immigrant 6.2.38‑1.1,  6.14.18‑1.38,  6.14.22‑1.40,  6.15.2‑1.32
IncidentCategory 6.14.4‑1.24
IncidentCost 6.14.4‑1.14
IncidentDate 6.14.4‑1.7
IncidentLocation 6.14.4‑1.10
IncidentLocationRefId 6.14.4‑1.12
IncidentNumber 6.14.4‑1.6
IncidentReporter 6.14.4‑1.15
IncidentTime 6.14.4‑1.8
IncludedInSpecialEducationFTE 6.13.2‑1.43
IndicatorNumber 6.10.7‑1.27
IndirectTime 6.13.2‑1.39
Injury 6.14.4‑1.33,  6.14.4‑1.57
InstructionalLevel 6.2.39‑1.1,  6.14.8‑1.11,  6.14.10‑1.33,  6.14.11‑1.19,  6.15.3‑1.88,  6.15.3‑1.132
InstructionalMinutes 6.14.3‑1.13
InstructionalProgram 6.8.11‑1.13
InstructionalStrategies 6.4.5‑1.15
InstructionalStrategy 6.4.5‑1.16
InterestLevel 6.4.5‑1.8
InterestLevels 6.4.5‑1.7
InvolvementAmount 6.15.3‑1.225
InvolvementBeginningDate 6.15.3‑1.223
InvolvementCode 6.15.3‑1.222
InvolvementEndingDate 6.15.3‑1.224
IsCurrent 6.4.2‑1.16
IsFinal 6.7.10‑1.6
Item 6.3.9‑1.7
ItemCategory 6.6.1‑1.6
ItemCharacteristics 6.3.8‑1.1
ItemDescription 6.8.19‑1.12
ItemInfo 6.11.1‑1.8
ItemLabel 6.3.4‑1.5
ItemName 6.3.4‑1.6,  6.3.9‑1.14
ItemNumber 6.3.9‑1.13,  6.8.19‑1.11
ItemPortionQuantity 6.6.2‑1.4
ItemPortionType 6.6.2‑1.5
ItemQuantities 6.6.3‑1.6
ItemQuantity 6.6.3‑1.7
Items 6.3.9‑1.6
ItinerantTeacher 6.14.11‑1.18
JobClassification 6.8.3‑1.10
JobEndDate 6.8.3‑1.8,  6.14.11‑1.9
JobFTE 6.8.3‑1.9,  6.14.11‑1.10
JobFunction 6.8.20‑1.5,  6.12.2‑1.31,  6.14.11‑1.11
JobStartDate 6.8.3‑1.7,  6.14.11‑1.8
Language 6.2.40‑1.2
LanguageList 6.2.10‑1.18,  6.2.40‑1.1,  6.15.2‑1.20
LanguageOfInstruction 6.14.10‑1.19
LanguageType 6.2.40‑1.5
LastBreakfastDate 6.6.18‑1.4,  6.6.19‑1.6
LastInstructionDate 6.14.3‑1.11
LastLunchDate 6.6.18‑1.5,  6.6.19‑1.7
LastName 6.2.5‑1.5,  6.2.41‑1.1,  A.3‑1.3
LatestStartDate 6.13.2‑1.31
Latitude 6.2.31‑1.2
LEAContact 6.14.5‑1.12
LEAContactList 6.14.5‑1.11
LEAInfo 6.14.5‑1.1
LEAInfoData 6.15.3‑1.25,  6.15.4‑1.6,  6.15.4‑1.18
LEAInfoRefId 6.3.2‑1.15,  6.3.6‑1.18,  6.8.8‑1.4,  6.8.17‑1.11,  6.8.17‑1.13,  6.13.3‑1.8,  6.14.9‑1.7
LEAName 6.2.42‑1.1,  6.14.5‑1.6,  6.15.3‑1.29,  6.15.4‑1.10,  6.15.4‑1.22
LEARelationshipType 6.4.7‑1.7
LearningObjective 6.10.1‑1.11,  6.10.2‑1.14,  6.10.3‑1.15,  6.10.8‑1.18
LearningObjectives 6.10.1‑1.10,  6.10.2‑1.13,  6.10.3‑1.14,  6.10.8‑1.17
LearningResource 6.10.4‑1.1
LearningResourcePackage 6.10.5‑1.1
LearningResourcePackageRefId 6.10.4‑1.45
LearningResourceRefId 6.10.1‑1.37,  6.10.8‑1.24
LearningResources 6.10.1‑1.36,  6.10.8‑1.23
LearningStandardDocument 6.10.6‑1.1
LearningStandardDocumentRefId 6.10.6‑1.26,  6.10.7‑1.31
LearningStandardItem 6.10.7‑1.1
LearningStandardItemRefId 6.3.4‑1.8,  6.3.7‑1.21,  6.4.5‑1.10,  6.10.1‑1.13,  6.10.2‑1.16,  6.10.3‑1.20,  6.10.4‑1.44,  6.10.6‑1.24,  6.10.7‑1.13,  6.10.7‑1.33,  6.10.8‑1.22,  6.12.5‑1.6,  6.12.6‑1.4
LearningStandardItemRefIds 6.3.7‑1.20
LearningStandardItems 6.3.4‑1.7,  6.4.5‑1.9,  6.12.5‑1.5,  6.12.6‑1.3
LearningStandards 6.10.1‑1.12,  6.10.2‑1.15,  6.10.3‑1.19,  6.10.4‑1.43,  6.10.8‑1.21
LeastRestrictiveEnvironment 6.13.1‑1.44
LEAURL 6.14.5‑1.7
Leave 6.12.2‑1.16
Lesson 6.10.8‑1.1
LessonSource 6.10.8‑1.26
LessonSources 6.10.8‑1.25
Letter 6.7.5‑1.16,  6.7.8‑1.13,  6.7.10‑1.12,  6.15.3‑1.54,  6.15.3‑1.107,  6.15.3‑1.153
Level 6.3.3‑1.8,  6.15.3‑1.208
LibraryPatronStatus 6.11.1‑1.1
LicensePlateNumber 6.16.2‑1.12
LifeCycle 6.4.1‑1.4,  6.4.3‑1.1
Line1 6.2.1‑1.4
Line2 6.2.1‑1.5
Line3 6.2.1‑1.6
ListedStatus 6.2.58‑1.5
LivesWith 6.14.16‑1.20
LocalAdoptionDate 6.10.6‑1.16
LocalArchiveDate 6.10.6‑1.17
LocalId 6.2.43‑1.1,  6.4.6‑1.3,  6.6.1‑1.3,  6.8.17‑1.7,  6.12.1‑1.3,  6.12.5‑1.7,  6.13.3‑1.5,  6.14.3‑1.5,  6.14.5‑1.3,  6.14.9‑1.3,  6.14.10‑1.5,  6.14.12‑1.3,  6.14.16‑1.4,  6.14.18‑1.9,  6.14.22‑1.6,  6.14.22‑1.23,  6.15.1‑1.4,  6.15.2‑1.7,  6.15.3‑1.26,  6.15.3‑1.31,  6.15.4‑1.7,  6.15.4‑1.12,  6.15.4‑1.19,  6.15.4‑1.24,  6.17.4‑1.6
LocalProgramId 6.12.6‑1.5
Location 6.2.44‑1.1,  6.5.1‑1.14,  6.10.4‑1.12,  6.14.13‑1.11
LocationInfo 6.8.17‑1.1
LocationInfoRefId 6.8.3‑1.6,  6.8.10‑1.5,  6.8.14‑1.5,  6.8.19‑1.7,  6.8.20‑1.4
LocationName 6.2.44‑1.3,  6.5.1‑1.16
LocationOfInstruction 6.14.10‑1.22
LocationRefId 6.2.44‑1.4,  6.5.1‑1.17
Longitude 6.2.31‑1.3
Low 6.7.5‑1.14,  6.7.8‑1.11,  6.15.3‑1.52
LowerCut 6.3.7‑1.13
MadeAvailable 6.11.1‑1.29
ManagingPublicAgency 6.13.1‑1.10
ManagingSchool 6.13.1‑1.12
ManifestationDetermination 6.14.4‑1.34
ManufactureYear 6.16.2‑1.10
MaritalStatus 6.2.10‑1.22
MaritalStatusRate 6.8.22‑1.4
Mark 6.7.10‑1.8
MarkData 6.15.3‑1.103,  6.15.3‑1.149
MarkInfo 6.7.4‑1.1
MarkInfoList 6.7.7‑1.5
MarkInfoRefId 6.7.7‑1.8
MarkingPeriod 6.15.3‑1.94,  6.15.3‑1.139
MarkingPeriods 6.15.3‑1.138
MarkingSystems 6.15.3‑1.42
MarkingTerm 6.14.23‑1.12
MarkList 6.7.10‑1.7
MarkValueInfo 6.7.5‑1.1
MarkValueInfoData 6.15.3‑1.43
MaxAttemptsAllowed 6.10.1‑1.31,  6.10.2‑1.31
Maximum 6.3.7‑1.7,  6.7.5‑1.9,  6.15.3‑1.48
MaximumLoad 6.16.5‑1.6
MaximumSize 6.7.5‑1.25,  6.15.3‑1.60
MealStatus 6.2.45‑1.1,  6.6.5‑1.8,  6.6.7‑1.9,  6.6.9‑1.15,  6.6.15‑1.12,  6.6.19‑1.3,  6.6.19‑1.5,  A.7‑1.2
MealType 6.2.46‑1.1,  6.6.3‑1.10,  6.6.5‑1.9,  6.6.8‑1.8,  A.7‑1.4
Measure 6.5.1‑1.19
MeasureDescriptionCode 6.6.4‑1.5
MediaType 6.4.5‑1.3,  6.10.4‑1.20
MediaTypes 6.4.5‑1.2,  6.10.4‑1.19
MedicalAlertMessage 6.14.18‑1.7
MedicalAlertMessages 6.14.18‑1.6
MediumOfInstruction 6.14.10‑1.16
MeetingDate 6.14.4‑1.36
MeetingHeld 6.14.4‑1.35
MeetingTime 6.2.47‑1.1,  6.14.10‑1.15,  6.14.21‑1.13
MeetingTimeList 6.14.10‑1.14,  6.14.21‑1.12
MembershipType 6.4.7‑1.6
MenuPlanDate 6.6.6‑1.5
MenuPlanQuantities 6.6.6‑1.9
MenuPlanQuantity 6.6.6‑1.10
Message 6.11.1‑1.32
MessageList 6.11.1‑1.31
MeteringType 6.4.4‑1.6
MeteringURL 6.4.4‑1.7
Method 6.15.3‑1.216
MH 6.3.8‑1.13
MiddleName 6.2.5‑1.7,  6.2.48‑1.1,  A.3‑1.5
Migrant 6.2.49‑1.1,  6.14.18‑1.30,  6.14.22‑1.32,  6.15.2‑1.24
Minimum 6.3.7‑1.6,  6.7.5‑1.8,  6.15.3‑1.47
MinutesPerDay 6.14.3‑1.14
ModificationHistory 6.4.3‑1.8
Modified 6.4.3‑1.9
MonetaryAmountType A.10‑1.1
MostRecent 6.14.18‑1.24
MsgIdType A.11‑1.1
MultipleIntelligence 6.4.5‑1.14
MultipleIntelligences 6.4.5‑1.13
Name 6.2.5‑1.2,  6.2.50‑1.1,  6.2.57‑1.2,  6.3.1‑1.3,  6.3.7‑1.3,  6.4.2‑1.4,  6.4.2‑1.12,  6.4.3‑1.6,  6.6.9‑1.10,  6.7.5‑1.5,  6.8.1‑1.3,  6.8.5‑1.7,  6.8.9‑1.4,  6.8.13‑1.3,  6.8.17‑1.5,  6.8.21‑1.3,  6.10.3‑1.10,  6.10.4‑1.4,  6.10.4‑1.8,  6.10.4‑1.32,  6.10.4‑1.35,  6.10.8‑1.28,  6.12.1‑1.5,  6.12.2‑1.6,  6.12.4‑1.4,  6.13.3‑1.4,  6.14.4‑1.17,  6.14.4‑1.30,  6.14.4‑1.54,  6.14.12‑1.9,  6.14.16‑1.8,  6.14.18‑1.15,  6.14.22‑1.5,  6.15.2‑1.13,  6.15.2‑1.36,  6.15.2‑1.40,  6.15.3‑1.11,  6.15.3‑1.17,  6.15.3‑1.45,  6.15.3‑1.205,  6.15.3‑1.215,  6.15.3‑1.221,  6.16.3‑1.10,  6.16.3‑1.15,  6.16.5‑1.8,  6.17.4‑1.12,  6.17.4‑1.17
NameOfRecordType A.12‑1.1
Narrative 6.7.5‑1.23,  6.7.8‑1.14,  6.7.10‑1.13,  6.15.3‑1.59,  6.15.3‑1.108,  6.15.3‑1.154
NationalCourseCode 6.15.3‑1.84,  6.15.3‑1.128
NCESId 6.2.51‑1.1,  6.4.6‑1.4,  6.8.17‑1.10,  6.10.7‑1.7,  6.14.5‑1.5,  6.14.9‑1.5,  6.15.3‑1.28,  6.15.3‑1.33,  6.15.4‑1.9,  6.15.4‑1.14,  6.15.4‑1.21,  6.15.4‑1.26
NeglectedDelinquent 6.2.52‑1.1,  6.14.18‑1.39,  6.14.22‑1.41,  6.15.2‑1.33
NonResidentAttendReason 6.4.7‑1.19,  6.14.20‑1.36
NOREPDate 6.13.1‑1.41
Number 6.2.58‑1.3,  6.10.3‑1.9,  6.10.7‑1.10
NumberOfAttempts 6.3.9‑1.16
NumberOfCheckouts 6.11.1‑1.36
NumberOfFines 6.11.1‑1.38
NumberOfOverdues 6.11.1‑1.37
NumberOfRefunds 6.11.1‑1.40
Numeric 6.7.5‑1.10,  6.7.8‑1.9,  6.7.10‑1.11,  6.15.3‑1.49,  6.15.3‑1.106,  6.15.3‑1.152
NumericEquivalent 6.7.5‑1.21,  6.15.3‑1.57
Object 6.8.11‑1.12
ObjectBreakdown 6.8.12‑1.10
ObjectNameType A.13‑1.1
Odometer 6.16.3‑1.23
Offender 6.14.4‑1.28
OffenderList 6.14.4‑1.27
OfficialStudentPeriodAttendance 6.7.6‑1.1
OKToPublish 6.14.19‑1.6
OnTimeGraduationYear 6.2.53‑1.1,  6.14.18‑1.22,  6.14.22‑1.15
OperationalStatus 6.2.54‑1.1,  6.4.6‑1.14,  6.14.5‑1.19,  6.14.9‑1.24
Organization 6.10.4‑1.25,  6.10.6‑1.8,  6.10.7‑1.30,  6.10.8‑1.29
OrganizationContactPoint 6.10.6‑1.11
OrganizationRelationshipType A.14‑1.1
Organizations 6.10.6‑1.7
OriginPoint 6.16.7‑1.14
OtherCode 6.2.55‑1.2
OtherCodeList 6.2.10‑1.21,  6.2.20‑1.3,  6.2.22‑1.4,  6.2.27‑1.3,  6.2.39‑1.3,  6.2.40‑1.4,  6.2.55‑1.1,  6.2.63‑1.3,  6.2.64‑1.3,  6.2.67‑1.4,  6.2.68‑1.3,  6.2.80‑1.3,  6.2.82‑1.3,  6.4.7‑1.11,  6.4.7‑1.15,  6.4.7‑1.18,  6.8.3‑1.12,  6.8.3‑1.15,  6.8.3‑1.18,  6.8.20‑1.7,  6.12.2‑1.33,  6.13.1‑1.9,  6.13.1‑1.17,  6.13.1‑1.22,  6.13.1‑1.26,  6.13.1‑1.38,  6.13.1‑1.46,  6.13.1‑1.51,  6.13.1‑1.59,  6.13.2‑1.8,  6.13.2‑1.13,  6.13.2‑1.22,  6.13.2‑1.27,  6.13.2‑1.30,  6.13.2‑1.36,  6.13.3‑1.26,  6.13.3‑1.30,  6.13.3‑1.33,  6.14.2‑1.8,  6.14.4‑1.26,  6.14.4‑1.41,  6.14.5‑1.10,  6.14.10‑1.18,  6.14.10‑1.21,  6.14.10‑1.24,  6.14.11‑1.13,  6.14.11‑1.16,  6.14.13‑1.7,  6.14.20‑1.11,  6.14.20‑1.24,  6.14.20‑1.27,  6.14.20‑1.35,  6.15.3‑1.198,  6.15.3‑1.202,  A.14‑1.4
OtherId 6.2.56‑1.1,  6.8.5‑1.5,  6.14.12‑1.7,  6.14.16‑1.6,  6.14.18‑1.13,  6.15.2‑1.11,  6.17.4‑1.18,  6.17.4‑1.26
OtherIdList 6.8.5‑1.4,  6.14.12‑1.6,  6.14.16‑1.5,  6.14.18‑1.12,  6.15.2‑1.10
OtherLEA 6.14.9‑1.8
OtherLEAs 6.8.17‑1.12
OtherNames 6.2.57‑1.1,  6.14.12‑1.10,  6.14.16‑1.9,  6.14.18‑1.16,  6.15.2‑1.14
OtherNameType A.15‑1.1
OtherRecords 6.15.1‑1.10
OtherStatus 6.16.3‑1.22
OutOf 6.7.8‑1.10
OvertimeHours 6.8.20‑1.9
PaidAmount 6.12.7‑1.7
ParentGuardian1 6.15.2‑1.35
ParentGuardian2 6.15.2‑1.39
ParentLegalGuardian 6.14.16‑1.18
ParentLocationInfo 6.8.17‑1.14
PartCTransitionMeetingDate 6.13.1‑1.18
PartCTransitionMeetingNotHeldReason 6.13.1‑1.15
PartCTransitionMeetingNotHeldReasons 6.13.1‑1.14
PartCTransitionMeetingOutcome 6.13.1‑1.20
PartCTransitionMeetingOutcomes 6.13.1‑1.19
PartialDateType A.16‑1.1
ParticipationComment 6.14.14‑1.6
ParticipationContact 6.13.1‑1.68
Password 6.9.1‑1.11
PasswordList 6.9.1‑1.10
Payment 6.8.18‑1.1
PayPeriod 6.8.20‑1.10
PayRate 6.8.7‑1.5
PayRates 6.8.7‑1.4
Percentage 6.7.5‑1.6,  6.7.8‑1.8,  6.7.10‑1.10,  6.8.7‑1.8,  6.15.3‑1.46,  6.15.3‑1.105,  6.15.3‑1.151
PerformanceLevel 6.3.7‑1.9
PerformanceLevels 6.3.7‑1.8
Period 6.3.3‑1.9,  6.8.14‑1.6
PerUseCharge 6.4.4‑1.8
PhoneNumber 6.2.58‑1.1,  6.2.59‑1.2,  6.10.4‑1.10,  6.14.6‑1.12,  6.17.1‑1.9,  6.17.3‑1.15
PhoneNumberList 6.2.5‑1.16,  6.2.59‑1.1,  6.4.6‑1.12,  6.8.5‑1.10,  6.8.17‑1.18,  6.14.5‑1.15,  6.14.9‑1.19,  6.14.12‑1.14,  6.14.16‑1.12,  6.14.18‑1.19,  6.15.2‑1.22,  6.15.2‑1.37,  6.15.2‑1.41,  6.15.3‑1.14,  6.15.3‑1.20,  6.15.3‑1.38,  6.15.4‑1.31
PickupRights 6.14.16‑1.19
PictureSource 6.8.6‑1.3,  6.14.19‑1.4
PlacementParentalConsentDate 6.13.1‑1.42
PlaceOfBirth 6.2.10‑1.7
PlannedAssessmentParticipation 6.2.60‑1.1,  6.13.1‑1.63,  6.15.4‑1.39
PlannedTestAdministrationDate 6.13.3‑1.17
PointBiserial 6.3.8‑1.8
Points 6.10.1‑1.22
PointsPossible 6.7.1‑1.8
PoliceNotification 6.14.4‑1.48
PositionNumber 6.8.8‑1.11
PositionTitle 6.2.5‑1.12,  6.8.8‑1.10
PostalCode 6.2.1‑1.21
Preamble 6.10.1‑1.9,  6.10.2‑1.12
Precision 6.7.5‑1.12,  6.15.3‑1.50
PredecessorItems 6.10.7‑1.12
PredecessorObjects 6.10.3‑1.12
PreferredName 6.2.5‑1.9,  A.3‑1.7
Prefix 6.2.5‑1.4,  A.3‑1.2
Prerequisite 6.10.1‑1.16,  6.10.2‑1.18
Prerequisites 6.10.1‑1.15,  6.10.2‑1.17
Price 6.6.5‑1.6,  6.11.1‑1.14
Prices 6.6.5‑1.5
PrimaryAssignment 6.2.61‑1.1,  6.8.3‑1.5,  6.14.11‑1.7
PrimaryCareProvider 6.14.16‑1.25
PrincipalInfo 6.14.9‑1.14
PrivateNotPlacedByPublic 6.13.1‑1.52
Procedure 6.10.8‑1.14
ProfessionalDevelopmentActivities 6.12.5‑1.1
ProfessionalDevelopmentActivityRefId 6.12.7‑1.5
ProfessionalDevelopmentProgram 6.12.6‑1.1
ProfessionalDevelopmentProgramRefId 6.12.5‑1.4,  6.12.7‑1.6
ProfessionalDevelopmentRegistration 6.12.7‑1.1
Program 6.2.62‑1.1,  6.6.3‑1.5,  6.6.5‑1.4,  6.6.6‑1.6,  6.6.7‑1.5,  6.6.9‑1.6,  6.6.10‑1.5,  6.6.11‑1.4,  6.6.12‑1.5,  6.6.13‑1.4,  6.6.14‑1.5,  6.6.15‑1.4,  6.8.14‑1.13,  6.8.15‑1.9
ProgramAvailability 6.13.1‑1.49
ProgramEligibilityDate 6.13.1‑1.35
ProgramExitDate 6.13.1‑1.56
ProgramExitReason 6.13.1‑1.57
ProgramFundingSource 6.13.1‑1.7
ProgramFundingSources 6.13.1‑1.6
ProgramName 6.12.6‑1.6
ProgramPlacementDate 6.13.1‑1.43
ProgramPlanDate 6.13.1‑1.39,  6.15.4‑1.37
ProgramPlanEffectiveDate 6.13.1‑1.40,  6.15.4‑1.38
ProgramPlanType 6.13.1‑1.36
ProgramReviewDate 6.13.1‑1.53
ProgramStatus 6.2.63‑1.1,  6.13.1‑1.27,  6.15.4‑1.33
ProgramType 6.2.64‑1.1,  6.8.3‑1.13,  6.12.6‑1.7,  6.13.1‑1.5,  6.15.4‑1.17
ProjectedExitDate 6.13.1‑1.60
ProjectedExitReason 6.13.1‑1.61
ProjectedGraduationDate 6.15.3‑1.191
ProjectedGraduationYear 6.2.65‑1.1,  6.14.18‑1.21,  6.14.22‑1.14
ProjectedParticipation 6.6.6‑1.8
PromotionInfo 6.14.20‑1.29
PromotionStatus 6.14.20‑1.30
Proportion 6.2.67‑1.5
ProvidingInstruction A.14‑1.5
ProvidingServices A.14‑1.6
PublicExpense 6.16.7‑1.40
PublishInDirectory 6.2.66‑1.1,  6.2.70‑1.3,  6.4.6‑1.10,  6.14.5‑1.13
PurchaseQuantities 6.6.8‑1.4
PurchaseQuantity 6.6.8‑1.5
Purchasing 6.8.19‑1.1
PurchasingItem 6.8.19‑1.10
PurchasingItems 6.8.19‑1.9
PValue 6.3.8‑1.6
Quantity 6.8.19‑1.13
R 5.1.12‑1.8
Race 6.2.67‑1.2,  6.12.2‑1.8
RaceList 6.2.10‑1.2,  6.2.67‑1.1,  6.3.6‑1.12,  6.14.22‑1.9,  6.15.2‑1.16
Rate 6.6.9‑1.12
Rates 6.6.9‑1.11
ReceivedAmount 6.8.18‑1.5
ReceivedDate 6.8.18‑1.4
ReceivedTransactionId 6.8.18‑1.6
ReceivingAuthority 6.17.2‑1.6
Recognition 6.14.14‑1.11
RecognitionList 6.14.14‑1.10
RecordClosureReason 6.14.20‑1.28
Records 6.15.1‑1.6
ReevaluationDate 6.13.1‑1.33,  6.15.4‑1.35
Reference 6.10.4‑1.36,  6.11.1‑1.23,  A.1‑1.12,  A.2‑1.13
ReferralDate 6.13.1‑1.23,  6.15.4‑1.32
ReferralSource 6.13.1‑1.24
RefIdType A.17‑1.1
RefundAmount 6.11.1‑1.41
RegistrationStatus 6.12.7‑1.4
RegularHours 6.8.20‑1.8
RelatedLearningStandardItems 6.10.7‑1.32
RelatedLearningStandards 6.10.6‑1.25
RelatedTo 6.14.4‑1.21
RelatedToList 6.14.4‑1.20
Relationship 6.2.68‑1.1,  6.14.16‑1.14,  6.17.4‑1.16
RelativeDuration 6.14.23‑1.8
ReportAuthorityInfo 6.17.1‑1.1
ReportData 6.17.3‑1.18
ReportDataObjectType A.18‑1.1
ReportDate 6.8.11‑1.2,  6.8.12‑1.2,  6.12.2‑1.2
ReportDefinitionSource 6.17.2‑1.16
ReportFormat 6.17.2‑1.20
ReportFormatList 6.17.2‑1.19
ReportInfo 6.17.3‑1.3
ReportingDate 6.15.2‑1.5,  6.15.3‑1.5,  6.15.4‑1.5
ReportingPeriod 6.17.2‑1.10
ReportManifest 6.17.2‑1.1
ReportName 6.17.2‑1.8
ReportPackageType A.19‑1.1
ReportSubmitterInfo 6.17.3‑1.8
RepositoryDate 6.10.6‑1.23
RequestingAgencyId 6.17.4‑1.8
Requirement 6.15.3‑1.214
ResidencyStatus 6.14.20‑1.33,  A.14‑1.2
Resident 6.14.15‑1.9
Response 6.3.9‑1.9
ResponseChoicePattern 6.3.8‑1.14
ResponseChoices 6.3.4‑1.11
ResponseLocation 6.3.9‑1.10
Responses 6.3.8‑1.17
ResponseStatus 6.3.9‑1.11
ResponseTime 6.3.9‑1.12
ReturnBy 6.11.1‑1.16
RightsElement 6.4.1‑1.6,  6.4.4‑1.1
RightsElements 6.4.1‑1.5
Role 6.2.5‑1.13,  6.14.14‑1.9
RoomInfo 6.14.6‑1.1
RoomInfoRefId 6.14.10‑1.13
RoomNumber 6.14.6‑1.4
RoomType 6.14.7‑1.1
RoomTypeRefId 6.14.6‑1.13
RouteDescription 6.16.7‑1.18,  6.16.7‑1.35
RouteDistanceLoaded 6.16.5‑1.11
RouteDistanceTotal 6.16.5‑1.13
RouteDurationLoaded 6.16.5‑1.9
RouteDurationTotal 6.16.5‑1.10
RouteNumber 6.16.5‑1.4,  6.16.7‑1.17,  6.16.7‑1.34
RouteStatus 6.16.3‑1.18
RouteType 6.16.5‑1.5
Salary 6.12.2‑1.14
SaleQuantities 6.6.7‑1.6
SaleQuantity 6.6.7‑1.7
SalesAmount 6.6.10‑1.7
SalesAmounts 6.6.10‑1.6
SaleUnit 6.6.7‑1.10
SampleSize 6.3.8‑1.7
Scale 6.7.5‑1.13,  6.15.3‑1.51
SCEDCode 6.2.69‑1.1,  6.14.8‑1.16
ScheduleInfo 6.14.10‑1.8
ScheduleInfoList 6.14.10‑1.7
ScheduleInfoOverride 6.14.21‑1.9
ScheduleInfoOverrideList 6.14.21‑1.8
SchedulingTerm 6.14.23‑1.13
SchoolAttendanceHistory 6.15.3‑1.22
SchoolAttended 6.15.3‑1.23
SchoolAttendedLocation 6.17.4‑1.25
SchoolAttendedName 6.17.4‑1.24
SchoolAttendedRefId 6.15.3‑1.79,  6.15.3‑1.123,  6.15.3‑1.140
SchoolBusRouteDetail 6.16.7‑1.29
SchoolContact 6.2.70‑1.2
SchoolContactList 6.2.70‑1.1,  6.14.9‑1.17,  6.15.3‑1.36,  6.15.4‑1.29
SchoolCourseInfo 6.14.8‑1.1
SchoolCourseInfoData 6.15.3‑1.80,  6.15.3‑1.124
SchoolCourseInfoOverride 6.14.10‑1.26
SchoolFocus 6.14.9‑1.12
SchoolFocusList 6.14.9‑1.11
SchoolInfo 6.14.9‑1.1
SchoolInfoData 6.15.3‑1.30,  6.15.4‑1.11,  6.15.4‑1.23
SchoolInfoRefId 6.3.2‑1.16,  6.3.6‑1.19,  6.6.3‑1.3,  6.6.5‑1.3,  6.6.6‑1.3,  6.6.7‑1.3,  6.6.9‑1.3,  6.6.10‑1.3,  6.6.12‑1.3,  6.6.14‑1.3,  6.6.15‑1.3,  6.7.8‑1.5,  6.8.17‑1.16,  6.12.2‑1.29,  6.13.3‑1.9,  6.14.22‑1.22
SchoolLocalId 6.14.18‑1.25
SchoolName 6.2.71‑1.1,  6.14.9‑1.6,  6.14.22‑1.21,  6.15.3‑1.34,  6.15.4‑1.15,  6.15.4‑1.27
SchoolType 6.14.9‑1.10
SchoolURL 6.2.72‑1.1,  6.14.9‑1.13,  6.15.3‑1.35,  6.15.4‑1.28
SchoolWhereServiceDelivered 6.13.2‑1.18
SchoolYear 6.2.45‑1.5,  6.2.73‑1.1,  6.7.4‑1.5,  6.7.5‑1.4,  6.7.8‑1.6,  6.12.2‑1.3,  6.15.3‑1.64,  6.15.3‑1.70,  6.15.3‑1.114,  6.15.3‑1.164
Score 6.3.10‑1.8
ScoreDescription 6.7.2‑1.9
ScoreLetter 6.7.2‑1.8
ScorePercent 6.7.2‑1.7
ScorePoints 6.7.2‑1.6
ScoreRange 6.3.7‑1.4
Scores 6.3.10‑1.7
ScoreValue 6.3.10‑1.10
SEAContact 6.4.6‑1.9
SEAContactList 6.4.6‑1.8
SEAInfo 6.4.6‑1.1
SEAName 6.4.6‑1.5
SeatingCapacity 6.16.2‑1.4
SEAURL 6.4.6‑1.6
Section504 6.2.74‑1.1,  6.14.18‑1.36,  6.14.22‑1.38,  6.15.2‑1.30
SectionInfo 6.14.10‑1.1
SectionInfoRefId 6.3.6‑1.21,  6.7.8‑1.4
SectionMarkInfo 6.7.7‑1.1
SectionRoomList 6.14.10‑1.12
SelectedContentType A.20‑1.1
Send1099 6.8.21‑1.7
SeniorityDate 6.8.8‑1.12
Sent 6.11.1‑1.34
SequenceLimit 6.2.69‑1.6
SequenceNumber 6.2.69‑1.5
Service 6.13.2‑1.6
ServiceCategory 6.13.2‑1.9
ServiceFundingSource 6.13.2‑1.11
ServiceFundingSources 6.13.2‑1.10
ServiceProviderName 6.13.2‑1.24
ServiceProviderType 6.13.2‑1.20
ServiceSetting 6.13.2‑1.25
ServicingPublicAgency 6.13.2‑1.14
ServicingSchool 6.13.2‑1.16
SessionType 6.14.9‑1.21
SettingBodyName 6.10.7‑1.8
ShortenedExpulsion 6.14.4‑1.47
SIF_Ack 5.2.1‑1.1
SIF_AddPublishers 5.3.1‑1.24
SIF_AdministrationURL 5.3.1‑1.87
SIF_AgentACL 5.3.2‑1.1
SIF_Application 5.2.5‑1.10,  5.3.1‑1.68
SIF_ApplicationCode 6.9.2‑1.10
SIF_AuthenticationLevel 5.1.2‑1.6,  5.1.4‑1.1,  5.3.1‑1.77
SIF_CancelRequests 5.2.16‑1.1
SIF_Category 5.1.9‑1.2,  6.9.2‑1.8
SIF_ChangePublishers 5.3.1‑1.31
SIF_Code 5.1.8‑1.2,  5.1.9‑1.3,  6.9.2‑1.9
SIF_ColumnHeaders 5.1.12‑1.2
SIF_Condition 5.1.10‑1.9,  5.1.11‑1.23
SIF_ConditionGroup 5.1.10‑1.5,  5.1.11‑1.19
SIF_Conditions 5.1.10‑1.7,  5.1.11‑1.21
SIF_Context 5.1.5‑1.2,  5.1.6‑1.1
SIF_Contexts 5.1.2‑1.10,  5.1.5‑1.1,  5.2.3‑1.6,  5.2.4‑1.7,  5.2.4‑1.11,  5.2.4‑1.15,  5.2.4‑1.19,  5.2.4‑1.23,  5.2.4‑1.28,  5.2.4‑1.33,  5.2.8‑1.5,  5.2.17‑1.5,  5.2.19‑1.5,  5.3.1‑1.16,  5.3.1‑1.23,  5.3.1‑1.30,  5.3.1‑1.37,  5.3.1‑1.44,  5.3.1‑1.52,  5.3.1‑1.60,  5.3.1‑1.88,  5.3.2‑1.5,  5.3.2‑1.9,  5.3.2‑1.13,  5.3.2‑1.17,  5.3.2‑1.21,  5.3.2‑1.25,  5.3.2‑1.29
SIF_Data 5.1.8‑1.4
SIF_DeletePublishers 5.3.1‑1.38
SIF_Desc 5.1.8‑1.3,  5.1.9‑1.4,  6.9.2‑1.11
SIF_DestinationId 5.1.2‑1.9
SIF_DestinationProvider 5.1.11‑1.2
SIF_Element 5.1.10‑1.4,  5.1.10‑1.10,  5.1.11‑1.6,  5.1.11‑1.24,  5.1.11‑1.29,  5.1.12‑1.3
SIF_EncryptionLevel 5.1.2‑1.7,  5.1.3‑1.1,  5.3.1‑1.78
SIF_Error 5.1.9‑1.1,  5.2.1‑1.6,  5.2.7‑1.6,  6.17.4‑1.27
SIF_Event 5.2.2‑1.1
SIF_EventObject 5.2.2‑1.4
SIF_EventObjectType A.21‑1.1
SIF_Example 5.1.10‑1.13
SIF_ExampleObjectType A.22‑1.1
SIF_ExtendedDesc 5.1.9‑1.5,  6.9.2‑1.12
SIF_ExtendedElement 6.2.75‑1.2
SIF_ExtendedElements 5.3.1‑1.90,  5.3.2‑1.31,  6.2.75‑1.1,  6.3.1‑1.9,  6.3.2‑1.18,  6.3.3‑1.14,  6.3.4‑1.17,  6.3.5‑1.6,  6.3.6‑1.23,  6.3.7‑1.23,  6.3.8‑1.19,  6.3.9‑1.18,  6.3.10‑1.13,  6.4.6‑1.19,  6.4.7‑1.22,  6.5.1‑1.21,  6.5.2‑1.7,  6.5.3‑1.9,  6.6.1‑1.8,  6.6.2‑1.8,  6.6.3‑1.14,  6.6.4‑1.8,  6.6.5‑1.12,  6.6.6‑1.14,  6.6.7‑1.13,  6.6.8‑1.11,  6.6.9‑1.17,  6.6.10‑1.11,  6.6.11‑1.8,  6.6.12‑1.9,  6.6.13‑1.8,  6.6.14‑1.9,  6.6.15‑1.19,  6.6.16‑1.8,  6.6.17‑1.10,  6.6.18‑1.9,  6.6.19‑1.11,  6.7.1‑1.15,  6.7.2‑1.11,  6.7.3‑1.8,  6.7.4‑1.8,  6.7.5‑1.27,  6.7.7‑1.10,  6.7.8‑1.16,  6.7.9‑1.19,  6.7.10‑1.15,  6.8.1‑1.9,  6.8.2‑1.9,  6.8.3‑1.20,  6.8.4‑1.11,  6.8.5‑1.13,  6.8.6‑1.6,  6.8.7‑1.10,  6.8.8‑1.15,  6.8.9‑1.10,  6.8.10‑1.7,  6.8.11‑1.18,  6.8.12‑1.13,  6.8.13‑1.7,  6.8.14‑1.15,  6.8.15‑1.12,  6.8.16‑1.7,  6.8.17‑1.20,  6.8.18‑1.9,  6.8.19‑1.20,  6.8.20‑1.12,  6.8.21‑1.11,  6.8.22‑1.10,  6.9.1‑1.15,  6.9.2‑1.17,  6.10.1‑1.39,  6.10.2‑1.34,  6.10.3‑1.22,  6.10.4‑1.47,  6.10.6‑1.28,  6.10.7‑1.36,  6.10.8‑1.33,  6.11.1‑1.43,  6.12.1‑1.8,  6.12.2‑1.36,  6.12.3‑1.9,  6.12.4‑1.14,  6.12.5‑1.16,  6.12.6‑1.10,  6.12.7‑1.10,  6.13.1‑1.70,  6.13.2‑1.48,  6.13.3‑1.36,  6.14.1‑1.12,  6.14.2‑1.20,  6.14.3‑1.17,  6.14.4‑1.59,  6.14.5‑1.22,  6.14.6‑1.15,  6.14.7‑1.6,  6.14.8‑1.18,  6.14.9‑1.27,  6.14.10‑1.36,  6.14.11‑1.22,  6.14.12‑1.18,  6.14.13‑1.13,  6.14.14‑1.14,  6.14.15‑1.17,  6.14.16‑1.28,  6.14.17‑1.11,  6.14.18‑1.41,  6.14.19‑1.8,  6.14.20‑1.38,  6.14.21‑1.17,  6.14.22‑1.44,  6.14.23‑1.16,  6.15.1‑1.13,  6.15.2‑1.44,  6.15.3‑1.231,  6.15.4‑1.41,  6.16.1‑1.5,  6.16.2‑1.14,  6.16.3‑1.32,  6.16.4‑1.7,  6.16.5‑1.16,  6.16.6‑1.6,  6.16.7‑1.42,  6.17.1‑1.11,  6.17.2‑1.27,  6.17.3‑1.21,  6.17.4‑1.29,  A.2‑1.18
SIF_ExtendedQuery 5.1.11‑1.1,  5.2.6‑1.6,  6.17.2‑1.25
SIF_ExtendedQueryResults 5.1.12‑1.1,  5.2.7‑1.8,  6.17.3‑1.19
SIF_ExtendedQuerySupport 5.2.3‑1.5,  5.2.4‑1.6,  5.2.4‑1.27,  5.2.4‑1.32,  5.3.1‑1.15,  5.3.1‑1.51,  5.3.1‑1.59
SIF_From 5.1.11‑1.9
SIF_GetAgentACL 5.2.15‑1.1
SIF_GetMessage 5.2.13‑1.1
SIF_GetZoneStatus 5.2.14‑1.1
SIF_Header 5.1.2‑1.1,  5.2.1‑1.2,  5.2.2‑1.2,  5.2.3‑1.2,  5.2.4‑1.2,  5.2.5‑1.2,  5.2.6‑1.2,  5.2.7‑1.2,  5.2.8‑1.2,  5.2.9‑1.2,  5.2.17‑1.2,  5.2.18‑1.2,  5.2.19‑1.2,  6.9.2‑1.5,  6.9.2‑1.7
SIF_Icon 5.2.5‑1.14,  5.3.1‑1.4,  5.3.1‑1.65
SIF_Join 5.1.11‑1.11
SIF_JoinOn 5.1.11‑1.13
SIF_LeftElement 5.1.11‑1.14
SIF_LogEntry 6.9.2‑1.1
SIF_LogEntryHeader 6.9.2‑1.4
SIF_LogObject 6.9.2‑1.14
SIF_LogObjects 6.9.2‑1.13
SIF_MaxBufferSize 5.2.5‑1.5,  5.2.6‑1.4,  5.3.1‑1.79,  6.17.2‑1.5
SIF_Message 5.1.1‑1.1
SIF_Metadata 5.3.1‑1.89,  5.3.2‑1.30,  6.3.1‑1.8,  6.3.2‑1.17,  6.3.3‑1.13,  6.3.4‑1.16,  6.3.5‑1.5,  6.3.6‑1.22,  6.3.7‑1.22,  6.3.8‑1.18,  6.3.9‑1.17,  6.3.10‑1.12,  6.4.1‑1.1,  6.4.6‑1.18,  6.4.7‑1.21,  6.5.1‑1.20,  6.5.2‑1.6,  6.5.3‑1.8,  6.6.1‑1.7,  6.6.2‑1.7,  6.6.3‑1.13,  6.6.4‑1.7,  6.6.5‑1.11,  6.6.6‑1.13,  6.6.7‑1.12,  6.6.8‑1.10,  6.6.9‑1.16,  6.6.10‑1.10,  6.6.11‑1.7,  6.6.12‑1.8,  6.6.13‑1.7,  6.6.14‑1.8,  6.6.15‑1.18,  6.6.16‑1.7,  6.6.17‑1.9,  6.6.18‑1.8,  6.6.19‑1.10,  6.7.1‑1.14,  6.7.2‑1.10,  6.7.3‑1.7,  6.7.4‑1.7,  6.7.5‑1.26,  6.7.7‑1.9,  6.7.8‑1.15,  6.7.9‑1.18,  6.7.10‑1.14,  6.8.1‑1.8,  6.8.2‑1.8,  6.8.3‑1.19,  6.8.4‑1.10,  6.8.5‑1.12,  6.8.6‑1.5,  6.8.7‑1.9,  6.8.8‑1.14,  6.8.9‑1.9,  6.8.10‑1.6,  6.8.11‑1.17,  6.8.12‑1.12,  6.8.13‑1.6,  6.8.14‑1.14,  6.8.15‑1.11,  6.8.16‑1.6,  6.8.17‑1.19,  6.8.18‑1.8,  6.8.19‑1.19,  6.8.20‑1.11,  6.8.21‑1.10,  6.8.22‑1.9,  6.9.1‑1.14,  6.9.2‑1.16,  6.10.1‑1.38,  6.10.2‑1.33,  6.10.3‑1.21,  6.10.4‑1.46,  6.10.6‑1.27,  6.10.7‑1.35,  6.10.8‑1.32,  6.11.1‑1.42,  6.12.1‑1.7,  6.12.2‑1.35,  6.12.3‑1.8,  6.12.4‑1.13,  6.12.5‑1.15,  6.12.6‑1.9,  6.12.7‑1.9,  6.13.1‑1.69,  6.13.2‑1.47,  6.13.3‑1.35,  6.14.1‑1.11,  6.14.2‑1.19,  6.14.3‑1.16,  6.14.4‑1.58,  6.14.5‑1.21,  6.14.6‑1.14,  6.14.7‑1.5,  6.14.8‑1.17,  6.14.9‑1.26,  6.14.10‑1.35,  6.14.11‑1.21,  6.14.12‑1.17,  6.14.13‑1.12,  6.14.14‑1.13,  6.14.15‑1.16,  6.14.16‑1.27,  6.14.17‑1.10,  6.14.18‑1.40,  6.14.19‑1.7,  6.14.20‑1.37,  6.14.21‑1.16,  6.14.22‑1.43,  6.14.23‑1.15,  6.15.1‑1.12,  6.15.2‑1.43,  6.15.3‑1.230,  6.15.4‑1.40,  6.16.1‑1.4,  6.16.2‑1.13,  6.16.3‑1.31,  6.16.4‑1.6,  6.16.5‑1.15,  6.16.6‑1.5,  6.16.7‑1.41,  6.17.1‑1.10,  6.17.2‑1.26,  6.17.3‑1.20,  6.17.4‑1.28,  A.2‑1.17
SIF_Mode 5.2.5‑1.6,  5.3.1‑1.73
SIF_MorePackets 5.2.7‑1.5
SIF_MsgId 5.1.2‑1.2
SIF_Name 5.1.7‑1.6,  5.2.5‑1.3,  5.3.1‑1.3,  5.3.1‑1.6,  5.3.1‑1.64
SIF_NodeVendor 5.2.5‑1.8,  5.3.1‑1.66
SIF_NodeVersion 5.2.5‑1.9,  5.3.1‑1.67
SIF_NotificationType 5.2.16‑1.2
SIF_Object 5.2.3‑1.3,  5.2.4‑1.4,  5.2.4‑1.9,  5.2.4‑1.13,  5.2.4‑1.17,  5.2.4‑1.21,  5.2.4‑1.25,  5.2.4‑1.30,  5.2.8‑1.3,  5.2.17‑1.3,  5.2.19‑1.3,  5.3.1‑1.13,  5.3.1‑1.21,  5.3.1‑1.28,  5.3.1‑1.35,  5.3.1‑1.42,  5.3.1‑1.49,  5.3.1‑1.57,  5.3.2‑1.3,  5.3.2‑1.7,  5.3.2‑1.11,  5.3.2‑1.15,  5.3.2‑1.19,  5.3.2‑1.23,  5.3.2‑1.27
SIF_ObjectData 5.2.2‑1.3,  5.2.7‑1.7
SIF_ObjectList 5.3.1‑1.12,  5.3.1‑1.20,  5.3.1‑1.27,  5.3.1‑1.34,  5.3.1‑1.41,  5.3.1‑1.48,  5.3.1‑1.56
SIF_Operator 5.1.10‑1.11,  5.1.11‑1.26
SIF_OrderBy 5.1.11‑1.28
SIF_OriginalHeader 6.9.2‑1.6
SIF_OriginalMsgId 5.2.1‑1.4
SIF_OriginalSourceId 5.2.1‑1.3
SIF_PacketNumber 5.2.7‑1.4
SIF_Ping 5.2.10‑1.1
SIF_Product 5.2.5‑1.12,  5.3.1‑1.7,  5.3.1‑1.70
SIF_Property 5.1.7‑1.5
SIF_Protocol 5.1.7‑1.1,  5.2.5‑1.7,  5.3.1‑1.74,  5.3.1‑1.84
SIF_ProtocolName 5.3.1‑1.82
SIF_Provide 5.2.3‑1.1
SIF_ProvideAccess 5.3.2‑1.2
SIF_ProvideObjectNamesType A.23‑1.1
SIF_ProvideObjects 5.2.4‑1.3
SIF_Provider 5.3.1‑1.10
SIF_Providers 5.3.1‑1.9
SIF_Provision 5.2.4‑1.1
SIF_PublishAddAccess 5.3.2‑1.10
SIF_PublishAddObjects 5.2.4‑1.12
SIF_PublishChangeAccess 5.3.2‑1.14
SIF_PublishChangeObjects 5.2.4‑1.16
SIF_PublishDeleteAccess 5.3.2‑1.18
SIF_PublishDeleteObjects 5.2.4‑1.20
SIF_Publisher 5.3.1‑1.25,  5.3.1‑1.32,  5.3.1‑1.39
SIF_Query 5.1.10‑1.1,  5.2.6‑1.5,  6.17.2‑1.24
SIF_QueryGroup 6.17.2‑1.23
SIF_QueryObject 5.1.10‑1.2
SIF_RefId 6.14.4‑1.18,  6.14.4‑1.31,  6.14.4‑1.55,  6.17.3‑1.9
SIF_Register 5.2.5‑1.1
SIF_ReportObject 6.17.3‑1.1
SIF_Request 5.2.6‑1.1
SIF_RequestAccess 5.3.2‑1.22
SIF_Requester 5.3.1‑1.54
SIF_Requesters 5.3.1‑1.53
SIF_RequestMsgId 5.2.7‑1.3,  5.2.16‑1.4
SIF_RequestMsgIds 5.2.16‑1.3
SIF_RequestObjectNamesType A.24‑1.1
SIF_RequestObjects 5.2.4‑1.24
SIF_RespondAccess 5.3.2‑1.26
SIF_Responder 5.3.1‑1.46
SIF_Responders 5.3.1‑1.45
SIF_RespondObjects 5.2.4‑1.29
SIF_Response 5.2.7‑1.1
SIF_ResponseObjectsType A.25‑1.1
SIF_ResponseObjectType A.26‑1.1
SIF_RightElement 5.1.11‑1.16
SIF_Rows 5.1.12‑1.7
SIF_SecureChannel 5.1.2‑1.5
SIF_Security 5.1.2‑1.4
SIF_Select 5.1.11‑1.3
SIF_SIFNode 5.3.1‑1.62
SIF_SIFNodes 5.3.1‑1.61
SIF_Sleep 5.2.11‑1.1
SIF_Sleeping 5.3.1‑1.80
SIF_SourceId 5.1.2‑1.8,  5.3.1‑1.72
SIF_Status 5.1.8‑1.1,  5.2.1‑1.5
SIF_Subscribe 5.2.8‑1.1
SIF_SubscribeAccess 5.3.2‑1.6
SIF_SubscribeObjectNamesType A.27‑1.1
SIF_SubscribeObjects 5.2.4‑1.8
SIF_Subscriber 5.3.1‑1.18
SIF_Subscribers 5.3.1‑1.17
SIF_SupportedAuthentication 5.3.1‑1.81
SIF_SupportedProtocols 5.3.1‑1.83
SIF_SupportedVersions 5.3.1‑1.85
SIF_SystemControl 5.2.9‑1.1
SIF_SystemControlData 5.2.9‑1.3
SIF_Timestamp 5.1.2‑1.3
SIF_Unprovide 5.2.17‑1.1
SIF_Unregister 5.2.18‑1.1
SIF_Unsubscribe 5.2.19‑1.1
SIF_URL 5.1.7‑1.4
SIF_Value 5.1.7‑1.7,  5.1.10‑1.12,  5.1.11‑1.27
SIF_Vendor 5.2.5‑1.11,  5.3.1‑1.5,  5.3.1‑1.69
SIF_Version 5.2.5‑1.4,  5.2.5‑1.13,  5.2.6‑1.3,  5.3.1‑1.8,  5.3.1‑1.71,  5.3.1‑1.76,  5.3.1‑1.86,  6.17.2‑1.4
SIF_VersionList 5.3.1‑1.75
SIF_Wakeup 5.2.12‑1.1
SIF_Where 5.1.11‑1.18
SIF_ZoneStatus 5.3.1‑1.1
SiteCategory 6.8.17‑1.4
Size 6.14.6‑1.10
SortName 6.2.5‑1.10,  A.3‑1.8
Source 6.5.1‑1.11,  6.10.6‑1.6
SourceObject 6.10.1‑1.20,  6.10.2‑1.20,  6.10.8‑1.5
SourceObjects 6.10.1‑1.19,  6.10.2‑1.19,  6.10.8‑1.4
SpanGap 6.4.2‑1.9
SpanGaps 6.4.2‑1.8
SpecialAmountType 6.8.11‑1.15
SpecialCondition 6.3.2‑1.6
SpecialConditions 6.3.2‑1.5
SpecialMaterials 6.13.3‑1.34
SpecialNeedsTransportation 6.13.2‑1.44
Speedometer 6.16.3‑1.25
SSN 6.2.76‑1.1,  6.12.2‑1.5,  6.12.4‑1.3,  6.15.2‑1.9,  6.17.4‑1.11
StaffAssignment 6.14.11‑1.1
StaffList 6.14.6‑1.5
StaffMeal 6.6.18‑1.1
StaffPersonal 6.14.12‑1.1
StaffPersonalData 6.15.3‑1.10,  6.15.3‑1.16
StaffPersonalRefId 6.3.2‑1.14,  6.3.6‑1.20,  6.10.2‑1.6,  6.14.6‑1.6,  6.14.10‑1.11
StandardHierarchyLevel 6.10.7‑1.9
StandardIdentifier 6.10.7‑1.20
StandardNumber 6.10.7‑1.23
StandardSettingBody 6.10.7‑1.4
StartDate 6.2.12‑1.3,  6.2.45‑1.3,  6.6.9‑1.4,  6.8.1‑1.6,  6.8.14‑1.7,  6.8.16‑1.4,  6.10.1‑1.27,  6.10.2‑1.26,  6.12.5‑1.8,  6.13.2‑1.32,  6.14.3‑1.8,  6.14.4‑1.42,  6.14.14‑1.7,  6.14.15‑1.5,  6.14.23‑1.5,  6.15.3‑1.71,  6.15.3‑1.92,  6.15.3‑1.96,  6.15.3‑1.115,  6.15.3‑1.136,  6.15.3‑1.142,  6.15.3‑1.165,  6.17.4‑1.21
StartDateTime 6.3.2‑1.10,  6.4.2‑1.6,  6.4.2‑1.14
StartDay 6.14.15‑1.6
StartTime 6.10.2‑1.27
StateAidQualification 6.16.7‑1.38
StateAllowancesNumber 6.8.22‑1.6
StateCourseCode 6.2.77‑1.1,  6.14.8‑1.6,  6.14.10‑1.29,  6.15.3‑1.82,  6.15.3‑1.126
StateDistrictId 6.13.3‑1.7
Statement 6.10.7‑1.17
StatementCode 6.10.7‑1.15
StatementCodes 6.10.7‑1.14
Statements 6.10.7‑1.16
StateOfBirth 6.2.10‑1.9
StateProvince 6.2.1‑1.19,  6.2.78‑1.1,  6.8.22‑1.7,  6.10.7‑1.6
StateProvinceId 6.2.79‑1.1,  6.8.5‑1.3,  6.8.11‑1.3,  6.8.11‑1.9,  6.8.12‑1.3,  6.8.17‑1.9,  6.12.1‑1.4,  6.12.2‑1.4,  6.12.4‑1.2,  6.13.3‑1.6,  6.14.5‑1.4,  6.14.9‑1.4,  6.14.12‑1.4,  6.14.18‑1.10,  6.14.22‑1.7,  6.14.22‑1.24,  6.15.1‑1.3,  6.15.2‑1.8,  6.15.3‑1.27,  6.15.3‑1.32,  6.15.4‑1.8,  6.15.4‑1.13,  6.15.4‑1.20,  6.15.4‑1.25,  6.17.4‑1.4
StateSchoolId 6.13.3‑1.10
StatisticName 6.5.1‑1.3
Status 6.10.4‑1.14,  6.12.2‑1.15,  6.14.22‑1.25,  6.15.3‑1.217,  6.16.3‑1.12,  6.16.3‑1.17,  6.16.3‑1.20,  6.16.3‑1.30
StatusDeterminationDate 6.15.3‑1.218
Stem 6.3.4‑1.10
Stimulus 6.3.4‑1.9
Stipend 6.12.5‑1.13,  6.12.7‑1.8
StopToSchoolDistance 6.16.7‑1.12
Strategies 6.10.4‑1.38,  6.10.8‑1.15
Strategy 6.10.4‑1.39,  6.10.8‑1.16
Street 6.2.1‑1.3
StreetName 6.2.1‑1.10
StreetNumber 6.2.1‑1.8
StreetPrefix 6.2.1‑1.9
StreetSuffix 6.2.1‑1.12
StreetType 6.2.1‑1.11
Student 6.16.3‑1.28
StudentAcademicRecord 6.15.3‑1.1
StudentAcademicRecordRefId 6.15.1‑1.8
StudentActivityInfo 6.14.13‑1.1
StudentActivityLevel 6.14.13‑1.8
StudentActivityParticipation 6.14.14‑1.1
StudentActivityType 6.14.13‑1.5
StudentAttendance 6.14.2‑1.10
StudentAttendanceSummary 6.14.15‑1.1
StudentContact 6.14.16‑1.1
StudentContactsSummary 6.15.2‑1.34
StudentDailyAttendance 6.14.17‑1.1
StudentDemographicRecord 6.15.2‑1.1
StudentDemographicRecordRefId 6.15.1‑1.7
StudentGrade 6.7.8‑1.1
StudentGradeLevel 6.3.6‑1.9
StudentGradeLevelWhenAssessed 6.15.3‑1.209
StudentLEARelationship 6.4.7‑1.1
StudentLocator 6.17.4‑1.1
StudentMeal 6.6.19‑1.1
StudentParticipation 6.13.1‑1.1
StudentParticipationAsOfDate 6.13.1‑1.4
StudentParticipationData 6.15.4‑1.16
StudentParticipationRefId 6.13.3‑1.23
StudentPeriodAttendance 6.7.9‑1.1
StudentPersonal 6.14.18‑1.1
StudentPersonalData 6.15.2‑1.6
StudentPersonalRefId 6.7.8‑1.3,  6.10.1‑1.18,  6.10.2‑1.5,  6.13.3‑1.3,  6.15.1‑1.5,  6.16.3‑1.29,  6.17.4‑1.7
StudentPicture 6.14.19‑1.1
StudentPlacement 6.13.2‑1.1
StudentPlacementAsOfDate 6.13.2‑1.5
StudentProgramAccommodation 6.13.3‑1.22
StudentProgramAccommodations 6.13.3‑1.21
StudentProgramType 6.13.3‑1.24
StudentRecordExchange 6.15.1‑1.1
StudentRecordPackage 6.15.5‑1.1
StudentRecordPackageRefId 6.15.1‑1.11
StudentResponseSet 6.3.9‑1.1
Students 6.10.1‑1.17,  6.10.2‑1.4,  6.16.3‑1.27
StudentSchoolEnrollment 6.14.20‑1.1
StudentSchoolEnrollmentData 6.15.3‑1.6,  6.15.3‑1.62
StudentSchoolEnrollmentRefId 6.14.22‑1.20
StudentScoreSet 6.3.10‑1.1
StudentSectionEnrollment 6.14.21‑1.1
StudentSectionMarks 6.7.10‑1.1
StudentSnapshot 6.14.22‑1.1
StudentSpecialCondition 6.3.6‑1.7
StudentSpecialConditions 6.3.6‑1.6
StudentSpecialEducationFTE 6.13.1‑1.66
StudentSpecialEducationRecord 6.15.4‑1.1
StudentSpecialEducationRecordRefId 6.15.1‑1.9
StudentTransportInfo 6.16.7‑1.1
SubjectArea 6.2.80‑1.1,  6.2.81‑1.2,  6.3.7‑1.15,  6.4.5‑1.6,  6.10.1‑1.14,  6.10.3‑1.7,  6.10.4‑1.18,  6.10.6‑1.13,  6.10.7‑1.19,  6.10.7‑1.22,  6.10.8‑1.9,  6.14.10‑1.31
SubjectAreaList 6.2.81‑1.1,  6.14.8‑1.8,  6.15.3‑1.85,  6.15.3‑1.129
SubjectAreas 6.4.5‑1.5,  6.10.4‑1.17,  6.10.6‑1.12
SubmissionNumber 6.17.3‑1.6
SubmissionReason 6.17.3‑1.7
SubmitterDepartment 6.17.3‑1.12
SubmitterName 6.17.3‑1.11
SubmitterNotes 6.17.3‑1.16
SubtestCategory 6.15.3‑1.210
SubTestTier 6.3.7‑1.19
Suffix 6.2.5‑1.8,  A.3‑1.6
SummerSchool 6.14.10‑1.25
SupportingActivities 6.10.8‑1.19
System 6.9.1‑1.6
Tax 6.6.15‑1.15,  A.7‑1.6
TeacherAttendance 6.14.2‑1.13
TeacherList 6.14.10‑1.10
TeachingAssignment 6.14.11‑1.14
TeachingCredentialType 6.12.2‑1.20
TechnicalRequirement 6.10.1‑1.5,  6.10.2‑1.8
TechnicalRequirements 6.10.1‑1.4,  6.10.2‑1.7
TelematicsId 6.16.3‑1.6
Telemetry 6.16.3‑1.8
TelemetryList 6.16.3‑1.7
TenureDate 6.8.8‑1.13
Term 6.15.3‑1.111
TermCode 6.14.23‑1.9,  6.15.3‑1.74,  6.15.3‑1.99,  6.15.3‑1.118,  6.15.3‑1.145,  6.15.3‑1.168
TerminationCode 6.12.2‑1.21
TerminationDate 6.8.8‑1.8
TermInfo 6.14.23‑1.1
TermInfoData 6.15.3‑1.68,  6.15.3‑1.95,  6.15.3‑1.112,  6.15.3‑1.141,  6.15.3‑1.163
TermMarkLists 6.7.7‑1.4
TermPerformance 6.15.3‑1.162
TermsOfUse 6.4.4‑1.10
TermSpan 6.2.82‑1.1,  6.14.23‑1.11,  6.15.3‑1.76,  6.15.3‑1.101,  6.15.3‑1.120,  6.15.3‑1.147,  6.15.3‑1.170
TestAccommodation 6.13.3‑1.1
TestAdministration 6.13.3‑1.13
TestAdministrationDateRange 6.13.3‑1.16
TestGradeLevel 6.13.3‑1.15
TestScore 6.15.3‑1.212
TestScoreType 6.15.3‑1.211
TestSubjectArea 6.13.3‑1.14
TestType 6.13.3‑1.18
Text 6.11.1‑1.35
TextData A.1‑1.4,  A.2‑1.5
Time 6.16.3‑1.4
TimeElement 6.4.1‑1.3,  6.4.2‑1.1,  6.4.3‑1.14
TimeElements 6.4.1‑1.2,  6.4.3‑1.13
TimeIn 6.7.9‑1.8,  6.14.17‑1.7
TimeOut 6.7.9‑1.9,  6.14.17‑1.8
TimetableDay 6.2.47‑1.2
TimetablePeriod 6.2.47‑1.3,  6.7.9‑1.7
TimeWorked 6.8.20‑1.1
Title 6.10.1‑1.8,  6.10.2‑1.11,  6.10.3‑1.5,  6.10.6‑1.4,  6.10.8‑1.10,  6.11.1‑1.10,  6.14.12‑1.12,  6.14.13‑1.3,  6.15.3‑1.12,  6.15.3‑1.18
Title1 6.2.83‑1.1,  6.3.6‑1.16,  6.14.18‑1.31,  6.14.22‑1.33,  6.15.2‑1.25
Title1Status 6.14.9‑1.23
Titles 6.10.3‑1.4
TotalCreditsAttempted 6.15.3‑1.182
TotalCreditsEarned 6.15.3‑1.183
TotalServiceDuration 6.13.2‑1.41
TotalYears 6.12.2‑1.17
TotalYearsExperience 6.8.8‑1.9
Track 6.14.23‑1.10,  6.15.3‑1.75,  6.15.3‑1.100,  6.15.3‑1.119,  6.15.3‑1.146,  6.15.3‑1.169
Transaction 6.11.1‑1.7
TransactionDate 6.6.15‑1.5,  6.8.15‑1.3
TransactionDescription 6.8.2‑1.6,  6.8.18‑1.7
TransactionList 6.11.1‑1.6
TransactionPayMethod 6.6.17‑1.5
TransactionPayMethods 6.6.17‑1.4
TransactionTime 6.6.15‑1.6,  6.8.15‑1.4
TransactionType 6.6.15‑1.8
TransactionTypes 6.6.15‑1.7
TransferPoint 6.16.7‑1.24
TransferPoints 6.16.7‑1.23
TransitionPlanning 6.13.1‑1.64
TransportationStatus 6.16.7‑1.39
Type 6.4.2‑1.2,  6.4.2‑1.10,  6.12.2‑1.24
UnexcusedAbsences 6.14.15‑1.13
UnitCost 6.8.19‑1.14
UnitYears 6.12.2‑1.18
UpperCut 6.3.7‑1.14
URIOrBinaryType A.28‑1.1
URL A.1‑1.15,  A.2‑1.16
UseAgreement 6.10.4‑1.21
UsedForDailyAttendance 6.14.1‑1.9
UsedForPeriodAttendance 6.14.1‑1.10
UserId 6.7.9‑1.15
Username 6.9.1‑1.8
UseType 6.4.4‑1.5
ValidMark 6.7.5‑1.18,  6.15.3‑1.55
Value 6.4.2‑1.5,  6.4.2‑1.13,  6.5.3‑1.7,  6.6.3‑1.9,  6.6.5‑1.7,  6.6.7‑1.8,  6.6.8‑1.9,  6.6.9‑1.14,  A.7‑1.7
VehicleIdentificationNumber 6.16.2‑1.11
VehicleNumber 6.16.2‑1.3,  6.16.7‑1.19,  6.16.7‑1.36
VendorInfo 6.8.21‑1.1
VendorInfoRefId 6.8.19‑1.6
VersionType A.29‑1.1
VersionWithWildcardsType A.30‑1.1
Victim 6.14.4‑1.52
VictimList 6.14.4‑1.51
VocationalConcentrator 6.2.84‑1.1,  6.14.18‑1.37,  6.14.22‑1.39,  6.15.2‑1.31
Voided 6.6.15‑1.17
W4 6.8.22‑1.1
W4Date 6.8.22‑1.3
WalkToStopDistance 6.16.7‑1.10
WeaponType 6.14.4‑1.23
WeaponTypeList 6.14.4‑1.22
Weight 6.7.1‑1.11
WeightedGPA 6.15.3‑1.178
WhenServiceProvided 6.13.2‑1.28
XMLData 6.3.5‑1.3,  A.1‑1.2,  A.2‑1.3
YearCreated 6.10.7‑1.21
ZeroTolerance 6.14.4‑1.45

2680 Total

Appendix O: Index of Attributes

AccountType 6.6.10‑1.9
Action 5.2.2‑1.6
ActivityProviderRefId 6.12.5‑1.3
Algorithm 6.9.1‑1.12
Alias 5.1.11‑1.7,  5.1.12‑1.5
AssessmentAdministrationRefId 6.3.6‑1.4,  6.3.9‑1.3,  6.3.10‑1.4
AssessmentFormRefId 6.3.2‑1.3,  6.3.4‑1.3,  6.3.8‑1.4
AssessmentItemRefId 6.3.8‑1.3,  6.3.9‑1.8
AssessmentRefId 6.3.3‑1.3
AssessmentRegistrationRefId 6.3.9‑1.5,  6.3.10‑1.6
AssessmentSubTestRefId 6.3.10‑1.9
AttendanceCodeInfoRefId 6.7.9‑1.11
BillingRefId 6.8.18‑1.3
BusInfoRefId 6.16.3‑1.2
BusRouteDetailRefId 6.16.3‑1.21,  6.16.7‑1.15,  6.16.7‑1.32
BusRouteInfoRefId 6.16.4‑1.3
CalendarSummaryRefId 6.14.2‑1.3
Code 6.2.36‑1.2,  6.3.2‑1.7,  6.3.6‑1.8,  6.8.21‑1.9,  6.14.14‑1.12
Codeset 6.2.55‑1.3,  6.2.60‑1.2,  6.13.1‑1.62,  6.13.1‑1.65
ContentType 6.17.2‑1.22
Credits A.6‑1.3
Currency A.10‑1.2
Date 6.6.11‑1.3,  6.6.13‑1.3,  6.7.9‑1.6,  6.14.2‑1.2,  6.14.17‑1.4
DayOfWeek 6.16.7‑1.5
Description 6.3.5‑1.4,  A.1‑1.3,  A.1‑1.7,  A.1‑1.11,  A.1‑1.14,  A.2‑1.4,  A.2‑1.8,  A.2‑1.12,  A.2‑1.15
Distinct 5.1.11‑1.4
Earned 6.6.8‑1.7
EmployeePersonalRefId 6.8.3‑1.3,  6.8.4‑1.3,  6.8.6‑1.2,  6.8.7‑1.3,  6.8.22‑1.2,  6.12.3‑1.3,  6.12.7‑1.3
EvaluationType 6.10.1‑1.34
FileName A.1‑1.6,  A.1‑1.10,  A.2‑1.7,  A.2‑1.11
FinancialAccountAccountingPeriodLocationInfoRefId 6.8.14‑1.11,  6.8.15‑1.7
FinancialClassRefId 6.8.14‑1.12
FoodserviceItemPortionRefId 6.6.3‑1.8,  6.6.6‑1.11,  6.6.8‑1.6
GradingAssignmentRefId 6.7.2‑1.5
GradingCategoryRefId 6.7.1‑1.6
IdStatus 6.17.4‑1.2
IsAccepted 6.7.5‑1.7,  6.7.5‑1.11,  6.7.5‑1.17,  6.7.5‑1.24
KeyName 6.9.1‑1.13
LEAInfoRefId 6.4.7‑1.4
LevelName 6.3.7‑1.10
LibraryType 6.11.1‑1.2
LocationType 6.8.17‑1.3
LogLevel 6.9.2‑1.3
MarkInfoRefId 6.7.10‑1.9
MarkValueInfoDataRefId 6.15.3‑1.104,  6.15.3‑1.150
MarkValueInfoRefId 6.7.4‑1.3
MembershipType 6.14.20‑1.5
MenuCategory 6.6.6‑1.12
MIMEType A.1‑1.5,  A.1‑1.9,  A.1‑1.13,  A.2‑1.6,  A.2‑1.10,  A.2‑1.14
Name 6.2.75‑1.3
ObjectName 5.1.10‑1.3,  5.1.11‑1.8,  5.1.11‑1.10,  5.1.11‑1.15,  5.1.11‑1.17,  5.1.11‑1.25,  5.1.11‑1.30,  5.1.12‑1.4,  5.2.2‑1.5,  5.2.3‑1.4,  5.2.4‑1.5,  5.2.4‑1.10,  5.2.4‑1.14,  5.2.4‑1.18,  5.2.4‑1.22,  5.2.4‑1.26,  5.2.4‑1.31,  5.2.8‑1.4,  5.2.17‑1.4,  5.2.19‑1.4,  5.3.1‑1.14,  5.3.1‑1.22,  5.3.1‑1.29,  5.3.1‑1.36,  5.3.1‑1.43,  5.3.1‑1.50,  5.3.1‑1.58,  5.3.2‑1.4,  5.3.2‑1.8,  5.3.2‑1.12,  5.3.2‑1.16,  5.3.2‑1.20,  5.3.2‑1.24,  5.3.2‑1.28,  6.9.2‑1.15
Ordering 5.1.11‑1.31
Override 6.14.10‑1.27,  6.14.21‑1.10
Priority 6.11.1‑1.33
ProfessionalDevelopmentActivitiesRefId 6.12.3‑1.4
QueryLanguage 6.17.2‑1.18
ReferenceType 6.10.4‑1.13
RefId 6.3.1‑1.2,  6.3.2‑1.2,  6.3.3‑1.2,  6.3.4‑1.2,  6.3.5‑1.2,  6.3.6‑1.2,  6.3.7‑1.2,  6.3.8‑1.2,  6.3.9‑1.2,  6.3.10‑1.2,  6.4.6‑1.2,  6.4.7‑1.2,  6.5.1‑1.2,  6.5.2‑1.2,  6.5.3‑1.2,  6.6.1‑1.2,  6.6.2‑1.2,  6.6.3‑1.2,  6.6.4‑1.2,  6.6.5‑1.2,  6.6.6‑1.2,  6.6.7‑1.2,  6.6.8‑1.2,  6.6.9‑1.2,  6.6.10‑1.2,  6.6.12‑1.2,  6.6.14‑1.2,  6.6.15‑1.2,  6.6.16‑1.2,  6.6.17‑1.2,  6.7.1‑1.2,  6.7.3‑1.2,  6.7.4‑1.2,  6.7.5‑1.2,  6.7.8‑1.2,  6.7.9‑1.2,  6.8.1‑1.2,  6.8.2‑1.2,  6.8.3‑1.2,  6.8.4‑1.2,  6.8.5‑1.2,  6.8.7‑1.2,  6.8.9‑1.2,  6.8.10‑1.2,  6.8.13‑1.2,  6.8.14‑1.2,  6.8.15‑1.2,  6.8.16‑1.2,  6.8.17‑1.2,  6.8.18‑1.2,  6.8.19‑1.2,  6.8.20‑1.2,  6.8.21‑1.2,  6.9.1‑1.2,  6.10.1‑1.2,  6.10.2‑1.2,  6.10.3‑1.2,  6.10.4‑1.2,  6.10.4‑1.29,  6.10.6‑1.2,  6.10.7‑1.2,  6.10.8‑1.2,  6.12.1‑1.2,  6.12.3‑1.2,  6.12.5‑1.2,  6.12.6‑1.2,  6.12.7‑1.2,  6.13.1‑1.2,  6.13.2‑1.2,  6.13.3‑1.2,  6.14.1‑1.2,  6.14.3‑1.2,  6.14.4‑1.2,  6.14.5‑1.2,  6.14.6‑1.2,  6.14.7‑1.2,  6.14.8‑1.2,  6.14.9‑1.2,  6.14.10‑1.2,  6.14.11‑1.2,  6.14.12‑1.2,  6.14.13‑1.2,  6.14.14‑1.2,  6.14.16‑1.2,  6.14.18‑1.2,  6.14.20‑1.2,  6.14.21‑1.2,  6.14.23‑1.2,  6.15.1‑1.2,  6.15.2‑1.2,  6.15.3‑1.2,  6.15.3‑1.24,  6.15.3‑1.44,  6.15.4‑1.2,  6.16.1‑1.2,  6.16.2‑1.2,  6.16.4‑1.2,  6.16.5‑1.2,  6.16.6‑1.2,  6.16.7‑1.2,  6.17.1‑1.2,  6.17.2‑1.2,  6.17.3‑1.2,  A.2‑1.2
RelationshipType 6.10.7‑1.34
ReportAuthorityInfoRefId 6.17.2‑1.3
ReportManifestRefId 6.17.3‑1.4
ResponseType 6.3.4‑1.4
RowCount 5.1.11‑1.5
SchoolAttendedRefId 6.15.3‑1.7,  6.15.3‑1.63,  6.15.3‑1.69,  6.15.3‑1.113
SchoolCourseInfoRefId 6.14.10‑1.3
SchoolInfoRefId 6.6.11‑1.2,  6.6.13‑1.2,  6.7.1‑1.5,  6.7.2‑1.4,  6.7.3‑1.5,  6.7.4‑1.4,  6.7.5‑1.3,  6.7.7‑1.3,  6.7.9‑1.5,  6.7.10‑1.5,  6.14.1‑1.3,  6.14.2‑1.4,  6.14.3‑1.3,  6.14.6‑1.3,  6.14.7‑1.3,  6.14.8‑1.3,  6.14.11‑1.3,  6.14.15‑1.3,  6.14.17‑1.3,  6.14.20‑1.4,  6.14.23‑1.3,  6.16.7‑1.6
SchoolYear 6.4.7‑1.5,  6.14.2‑1.5,  6.14.3‑1.4,  6.14.4‑1.3,  6.14.8‑1.4,  6.14.10‑1.4,  6.14.11‑1.4,  6.14.14‑1.5,  6.14.15‑1.4,  6.14.17‑1.5,  6.14.19‑1.3,  6.14.20‑1.7,  6.14.21‑1.5,  6.14.22‑1.4,  6.14.23‑1.4
ScoreMetric 6.3.7‑1.5,  6.3.7‑1.12,  6.3.10‑1.3
SectionInfoRefId 6.7.1‑1.3,  6.7.2‑1.3,  6.7.3‑1.3,  6.7.7‑1.2,  6.7.9‑1.4,  6.7.10‑1.3,  6.14.21‑1.4
Secure 5.1.7‑1.3
SevereNeed 6.6.9‑1.13
Severity 6.14.18‑1.8
SIF_Action 6.2.2‑1.3,  6.2.19‑1.3,  6.2.57‑1.3,  6.2.59‑1.3,  6.2.75‑1.5,  6.3.2‑1.8,  6.7.5‑1.19,  6.7.7‑1.7
SIF_RefId 6.6.15‑1.10,  6.8.8‑1.2,  6.9.1‑1.3,  6.11.1‑1.3,  6.15.2‑1.3,  6.15.3‑1.3,  6.15.4‑1.3,  6.15.5‑1.2
SIF_RefObject 6.2.44‑1.5,  6.5.1‑1.18,  6.6.15‑1.11,  6.8.2‑1.4,  6.8.8‑1.3,  6.8.17‑1.15,  6.9.1‑1.4,  6.10.1‑1.21,  6.10.2‑1.21,  6.10.3‑1.18,  6.10.4‑1.42,  6.10.8‑1.6,  6.11.1‑1.4,  6.13.1‑1.11,  6.13.1‑1.13,  6.13.2‑1.15,  6.13.2‑1.17,  6.13.2‑1.19,  6.14.4‑1.5,  6.14.4‑1.13,  6.14.4‑1.19,  6.14.4‑1.32,  6.14.4‑1.56,  6.14.9‑1.9,  6.14.20‑1.14,  6.14.20‑1.16,  6.14.20‑1.18,  6.14.20‑1.20,  6.14.22‑1.28,  6.15.2‑1.4,  6.15.3‑1.4,  6.15.4‑1.4,  6.15.5‑1.3,  6.16.7‑1.22,  6.16.7‑1.26,  6.16.7‑1.28,  6.16.7‑1.30,  6.17.2‑1.7,  6.17.3‑1.10
SnapDate 6.14.22‑1.2
Source 6.9.2‑1.2
SourceId 5.3.1‑1.11,  5.3.1‑1.19,  5.3.1‑1.26,  5.3.1‑1.33,  5.3.1‑1.40,  5.3.1‑1.47,  5.3.1‑1.55
StaffPersonalRefId 6.6.18‑1.2,  6.14.11‑1.5
StudentActivityInfoRefId 6.14.14‑1.4
StudentParticipationRefId 6.13.2‑1.3
StudentPersonalRefId 6.3.6‑1.3,  6.3.9‑1.4,  6.3.10‑1.5,  6.4.7‑1.3,  6.6.19‑1.2,  6.7.2‑1.2,  6.7.9‑1.3,  6.7.10‑1.2,  6.13.1‑1.3,  6.13.2‑1.4,  6.14.14‑1.3,  6.14.15‑1.2,  6.14.16‑1.3,  6.14.17‑1.2,  6.14.19‑1.2,  6.14.20‑1.3,  6.14.21‑1.3,  6.14.22‑1.3,  6.16.7‑1.3
TermInfoRefId 6.7.1‑1.4,  6.7.3‑1.4,  6.7.7‑1.6,  6.7.10‑1.4,  6.14.10‑1.9,  6.14.21‑1.11
TimeFrame 6.14.20‑1.6
TransactionId 6.17.4‑1.3
Type 5.1.7‑1.2,  5.1.10‑1.6,  5.1.10‑1.8,  5.1.11‑1.12,  5.1.11‑1.20,  5.1.11‑1.22,  5.3.1‑1.63,  6.2.1‑1.2,  6.2.5‑1.3,  6.2.8‑1.2,  6.2.12‑1.2,  6.2.15‑1.2,  6.2.18‑1.2,  6.2.44‑1.2,  6.2.45‑1.2,  6.2.50‑1.2,  6.2.56‑1.2,  6.2.58‑1.2,  6.2.62‑1.2,  6.5.1‑1.5,  6.5.1‑1.10,  6.5.1‑1.15,  6.6.9‑1.9,  6.6.10‑1.8,  6.6.17‑1.6,  6.7.1‑1.13,  6.7.9‑1.14,  6.8.5‑1.6,  6.8.6‑1.4,  6.8.7‑1.6,  6.8.15‑1.8,  6.9.1‑1.7,  6.11.1‑1.9,  6.11.1‑1.19,  6.11.1‑1.26,  6.12.3‑1.7,  6.12.4‑1.10,  6.14.4‑1.9,  6.14.4‑1.11,  6.14.4‑1.16,  6.14.4‑1.29,  6.14.4‑1.53,  6.14.12‑1.8,  6.14.16‑1.7,  6.14.18‑1.5,  6.14.18‑1.14,  6.14.19‑1.5,  6.14.21‑1.15,  6.15.2‑1.12,  6.16.7‑1.4,  6.17.2‑1.17,  6.17.2‑1.21,  6.17.4‑1.9,  A.6‑1.2,  A.12‑1.2,  A.15‑1.2
Unit 6.16.3‑1.24,  6.16.3‑1.26,  6.16.5‑1.12,  6.16.5‑1.14,  6.16.7‑1.9,  6.16.7‑1.11,  6.16.7‑1.13
UnitOfMeasure 6.13.2‑1.38,  6.13.2‑1.40,  6.13.2‑1.42
Units 6.10.1‑1.26,  6.10.2‑1.25,  6.10.8‑1.12
Version 5.1.1‑1.3
xml:lang 6.10.1‑1.3,  6.10.2‑1.3,  6.10.3‑1.3,  6.10.4‑1.3,  6.10.6‑1.3,  6.10.7‑1.3,  6.10.8‑1.3
xmlns 5.1.1‑1.2
xsi:type 5.1.12‑1.6,  6.2.75‑1.4
ZoneId 5.3.1‑1.2

481 Total

Appendix P: References

Architecture/Infrastructure

KeyCitation
EXPORT

U.S. Bureau of Industry and Security. Commercial Encryption Export Controls.  6 July 2006 <http://www.bis.doc.gov/Encryption/>.

FAVICON

Favicon - Wikepedia, the free encyclopedia.  6 July 2006 <http://en.wikipedia.org/wiki/Favicon>.

MIME

IETF (Internet Engineering Task Force). RFC 2048: Multipurpose Internet Mail Extensions (MIME) Part Four: Registration Procedures. 1996 November.  6 July 2006 <http://www.ietf.org/rfc/rfc2048.txt>.

RFC 2045

IETF (Internet Engineering Task Force). RFC 2045: Multipurpose Internet Mail Extensions (MIME) Part One: Format of Internet Message Bodies. 6 July 2006 <http://www.ietf.org/rfc/rfc2045.txt>.

RFC 2046

IETF (Internet Engineering Task Force). RFC 2046: Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types.  6 July 2006 <http://www.ietf.org/rfc/rfc2046.txt>.

RFC 2119

IETF (Internet Engineering Task Force). RFC 2119: Key words for use in RFCs to Indicate Requirement Levels. 11 December 2008 <http://www.ietf.org/rfc/rfc2119.txt>.

RFC 2246

IETF (Internet Engineering Task Force). RFC 2246: The TLS Protocol: Version 1.0. 6 July 2006 <http://www.ietf.org/rfc/rfc2246.txt>.

RFC 2376

IETF (Internet Engineering Task Force): RFC 2376: XML Media Types. 6 July 2006 <http://www.ietf.org/rfc/rfc2376.txt>.

RFC 2396

IETF (Internet Engineering Task Force): RFC 2396: Uniform Resource Identifiers (URI): Generic Syntax. 13 July 2006 <http://www.ietf.org/rfc/rfc2396.txt>.

RFC 2518

IETF (Internet Engineering Task Force). RFC 2518: HTTP Extensions for Distributed Authority—WEBDAV.  6 July 2006 <http://www.ietf.org/rfc/rfc2518.txt>.

RFC 2616

IETF (Internet Engineering Task Force). RFC 2616: Hypertext Transport Protocol—HTTP 1.1. 6 July 2006 <http://www.ietf.org/rfc/rfc2616.txt>.

RFC 4122

IETF (Internet Engineering Task Force). A Universally Unique IDentifier (UUID) URN Namespace. 3 July 2006 <http://www.ietf.org/rfc/rfc4122.txt>.

SCHEMA

World Wide Web Consortium (W3C). XML Schema Part 1: Structures. 6 July 2006 <http://www.w3.org/TR/xmlschema-1/>.

World Wide Web Consortium (W3C). XML Schema Part 2: Datatypes. 6 July 2006 <http://www.w3.org/TR/xmlschema-2/>.

A non-normative primer on XML Schema is also available:

World Wide Web Consortium (W3C). XML Schema Part 0: Primer. 6 July 2006 <http://www.w3.org/TR/xmlschema-0/>.

Schneier

Schneier, Bruce. Applied Cryptography: Protocols, Algorithms, and Source Code in C (Second Edition). John Wiley & Sons, 1995.

SIF Certification

Schools Interoperability Framework Association (SIF Association). SIF Certification - Product Standards. 23 May 2007 <http://certification.sifinfo.org/docs/prodstandards.tpl>.

SIF Reporting WS

Schools Interoperability Framework Association (SIF Association). Schools Interoperability Framework™ Reporting Web Service 1.0. 28 September 2006 <http://specification.sifinfo.org/WebServices/Reporting/1.0>.

SSL2

Netscape.  SSL 2.0 Protocol Specification. 6 July 2006 <http://wp.netscape.com/eng/security/SSL_2.html>.

SSL3

Netscape.  The SSL Protocol Version 3.0. 6 July 2006 <http://wp.netscape.com/eng/ssl3/draft302.txt>.

WSARCH

World Wide Web Consortium (W3C). Web Services Architecture. 16 July 2006 <http://www.w3.org/TR/ws-arch/>.

XML

W3C (World Wide Web Consortium). Extensible Markup Language (XML) 1.0 (Third Edition). 6 July 2006 <http://www.w3.org/TR/2004/REC-xml-20040204>.

XMLINTRO

W3C (World Wide Web Consortium). XML in 10 Points. 13 July 2006 <http://www.w3.org/XML/1999/XML-in-10-points.html>.

XMLNS

W3C (World Wide Web Consortium). Namespaces in XML. 6 July 2006 <http://www.w3.org/TR/REC-xml-names/>.

XPath

W3C (World Wide Web Consortium). XML Path Language (XPath) Version 1.0. 6 July 2006 <http://www.w3.org/TR/xpath>.

Data Model

KeyCitation
CanadaPostCanada Post. Canada Postal Guide. 6 July 2006 <http://www.canadapost.ca/personal/tools/pg/manual/b03-e.asp>.
CNDB

USDA (United States Department of Agriculture). Child Nutrition Database (CNDB). 6 July 2006 <http://riley.nal.usda.gov/nal_display/index.php?info_center=14&tax_level=2&tax_subject=234&topic_id=1210>

DES

FIPS (Federal Information Processing Standards). Publication 46-3: Data Encryption Standard (DES). 25 October 1999. 06 July 2006 <http://csrc.nist.gov/publications/fips/fips46-3/fips46-3.pdf>.

DSS

FIPS (Federal Information Processing Standards). Publication 186-2: Digital Signature Standard (DSS). 27 January 2000. 6 July 2006 <http://csrc.nist.gov/publications/fips/fips186-2/fips186-2-change1.pdf>.

EDEN

U.S. Department of Education. File Specifications — Performance-Based Data Management Initiative (PBDMI). 7 September 2006 <http://www.ed.gov/about/inits/ed/pbdmi/file-specifications.html>.

FAVICON

Favicon - Wikepedia, the free encyclopedia.  6 July 2006 <http://en.wikipedia.org/wiki/Favicon>.

IRSTIN

IRS (Internal Revenue Service) ITIN and ATIN definitions. Publication 1915: Understanding Your IRS Individual Taxpayer Identification Number (Rev. 2-2004). 2004 February. 6 July 2006 <http://www.irs.gov/pub/irs-pdf/p1915.pdf>

ISO 3166/MA

ISO (International Standards Organization). ISO 3166 Maintenance agency (ISO 3166/MA). 6 July 2006 <http://www.iso.org/iso/en/prods-services/iso3166ma/index.html>.

ISO 3166-1

ISO (International Standards Organization). English country names and code elements. 6 July 2006 <http://www.iso.ch/iso/en/prods-services/iso3166ma/02iso-3166-code-lists/list-en1.html>.

ISO 3166-3

ISO (International Standards Organization). ISO 3166-3:1999—Codes for the representation of names of countries and their subdivisions—Part 3:Codes for formerly used names of countries.

ISO 6709

ISO (International Standards Organization). ISO 6709-1983 (E)—Standard representation of latitude, longitude and altitude for geographic point locations (First edition—1983-05-15). International Organization for Standardization, 1983

JPEG

IJG (Independent JPEG Group). JPEG File Interchange Format Version 1.02. 6 July 2006 <http://www.w3.org/Graphics/JPEG/jfif3.pdf>.

LOM

IEEE (Institute of Electrical and Electronics Engineers, Inc.). IEEE LTSC | WG12. 10 July 2006 <http://ltsc.ieee.org/wg12/>.

MD5

IETF (Internet Engineering Task Force). RFC 1321: The MD5 Message-Digest Algorithm. 1992 April.  6 July 2006 <http://www.ietf.org/rfc/rfc1321.txt>.

NCES

NCES (National Center for Education Statistics). NCES Handbooks Online. 6 July 2006  <http://nces.ed.gov/programs/handbook/toc.asp>.

RC2

IETF (Internet Engineering Task Force). RFC 2268: A Description of the RC2 Encryption Algorithm. 1998 March.  6 July 2006 <http://www.ietf.org/rfc/rfc2268.txt>.

RSA

IETF (Internet Engineering Task Force). RFC 2313: PKCS #1: RSA Encryption. 1998 March. 6 July 2006 <http://www.ietf.org/rfc/rfc2313.txt>.

SAFETY

NCES (National Center for Education Statistics). Safety in Numbers: Collecting and Using Crime, Violence and Discipline Incident Data to Make a Difference in Schools. 13 July 2006 <http://nces.ed.gov/pubs2002/safety/chapter4.asp>.

SCEDNational Center for Education Statistics. Secondary School Course Classification System: School Codes for the Exchange of Data. 23 May 2007 <http://nces.ed.gov/pubs2007/2007341.pdf>.
SHA1

FIPS (Federal Information Processing Standards). Publication 180-1: Secure Hash Standard (SHS). 17 April 1995. 6 July 2006 <http://www.itl.nist.gov/fipspubs/fip180-1.htm>.

USPS

United States Postal Services (USPS). Abbreviations. 6 July 2006 <http://www.usps.com/ncsc/lookups/usps_abbreviations.html>.

Z39.53

NISO (National Information Standards Organization). ANSI/NISO Z39.53-2001: Codes for the Representation of Languages for Information Interchange. NISO Press, 2001. 6 July 2006 <http://www.niso.org/standards/resources/Z39-53.pdf>.

Z39.53/MA

Library of Congress (Z39.53 Maintenance Agency). MARC Code List for Languages. 6 July 2006 <http://lcweb.loc.gov/marc/languages/>.