# 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:

Code | Characteristic
M | Mandatory element or attribute
O | Optional element or attribute
C | Conditional element or attribute
MR | Mandatory and repeatable element
OR | Optional and repeatable element
CR | Conditional 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 `RefId`s. References to primary keys (foreign key references) follow certain conventions in SIF in most objects:

- An element or attribute of type `IdRefType` can be defined that consists of the referenced object name concatenated with `RefId`, e.g., `DataPersonalRefId` (a reference to the object identifier/primary key/`RefId` of a `DataPersonal` object);
- An element requiring a more descriptive name for the reference or one that refers to more than one object type is defined as `IdRefType`, has an element name of a group's choosing (or generically `SIF_RefId`) and enumerates all possible object types that can be referenced in the `SIF_RefObject` attribute; or
- A pair of attributes can be defined, one of type `IdRefType` containing the referenced object's `RefId`, the other enumerating all possible object types that can be referenced; generically these are named `SIF_RefId` and `SIF_RefObject`, respectively; naming conventions that programmatically allow identification of the pair beyond the generic names will be documented when the need arises.

#### 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="01">contact@sifinfo.org</Email> <Email Type="02">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="01">editor@sifinfo.org</Email> <Email Type="02" 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:

- the list is a cohesive whole conceptually, where supporting or referring to a subset of the list is of little value;
- when the list consists only of keys, and no associated data;
- the list is informational/temporary state information and not typically persisted; or
- when no key exists to uniquely identify items in the list.

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>1101</CountryOfCitizenship> <CountryOfCitizenship>2304</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 Australia 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 ACStrandSubjectArea

Subject matter.

Figure 6.2.1-1: ACStrandSubjectArea

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ACStrandSubjectArea |  | Subject matter. |
| ACStrand | M | Subject matter. | AUCodeSetsACStrandType
| SubjectArea | O | Subject matter. | SubjectArea

Table 6.2.1-1: ACStrandSubjectArea
<ACStrandSubjectArea> <ACStrand>M</ACStrand> <SubjectArea> <Code>Maths</Code> <OtherCodeList> <OtherCode Codeset="Text">Mathematics</OtherCode> </OtherCodeList> </SubjectArea> </ACStrandSubjectArea>
Example 6.2.1-1: ACStrandSubjectArea

### 6.2.2 Address

This element contains address data

Figure 6.2.2-1: Address

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Address | M | This element contains address data. |
@ | Type | M | 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. | AUCodeSetsAddressTypeType
@ | Role | M | A facet of Address | AUCodeSetsAddressRoleType
| Street | M | The street element is a complex element and breaks the street down into several parts. (Allow for PO Box here) |
| Street/Line1 | M | Address line 1. | xs:normalizedString
| Street/Line2 | O | Address line 2. | xs:normalizedString
| Street/Line3 | O | Address line 3. | xs:normalizedString
| Street/Complex | O | Name of the complex. | xs:normalizedString
| Street/StreetNumber | O | The address number assigned to the building. | xs:normalizedString
| Street/StreetPrefix | O | Street prefix like NE | xs:normalizedString
| Street/StreetName | O | The name of the street. | xs:normalizedString
| Street/StreetType | O | The type of street. For example, Lane, Blvd., Ave., etc. | xs:normalizedString
| Street/StreetSuffix | O | Street suffix like SW. | xs:normalizedString
| Street/ApartmentType | O | Type of apartment, for example, Suite. | xs:normalizedString
| Street/ApartmentNumberPrefix | O | Apartment number prefix. | xs:normalizedString
| Street/ApartmentNumber | O | The number of the apartment. | xs:normalizedString
| Street/ApartmentNumberSuffix | O | Apartment number suffix. | xs:normalizedString
| City | M | The city part of the address. | xs:normalizedString
| StateProvince | C | The state or province code. StateTerritory Code only applicable if an Australian Address. Conditional- If Australian Address this is mandatory. | StateProvince
| Country | O | The country code. | Country
| PostalCode | M | The ZIP/postal code. | xs:normalizedString
| GridLocation | O | The location of the address. | GridLocation
| MapReference | O | A Map Reference in x-y co-ordinates. |
@ | Type | M | Type map reference | xs:normalizedString
| MapReference/XCoordinate | M | X Co-ordinate of reference | xs:normalizedString
| MapReference/YCoordinate | M | Y Co-ordinate of reference | xs:normalizedString
| RadioContact | O | UHF Radio frequency or channel used for contact eg: 477MHz or CH60 | xs:string
| Community | O | This element is used to describe a Community that is associated with the instance of the address. | xs:normalizedString
| LocalId | O | This is the LocalId of the specific address if it can be provided. | LocalId
| AddressGlobalUID | O | This is the GUID generated by the Provider system. Where it is available to be provided, the globally unique identifier links together separate instances of the Address Common Element which reference the same physical address. When it can be provided, it can be used by subsribing systems to connect addresses from different personal objects. | GUIDType

Table 6.2.2-1: Address
<Address Type="0123" Role="012B"> <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>1101</Country> <PostalCode>60611</PostalCode> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> <Community>Bidyadanga Community</Community> <LocalId>A1530</LocalId> <AddressGlobalUID>4286194F43ED43C18EE2F0A27C4BEF87</AddressGlobalUID> </Address>
Example 6.2.2-1: Address

### 6.2.3 AddressList

A list of Address elements.

Figure 6.2.3-1: AddressList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| AddressList |  | A list of Address elements. | ActionList (Address/@Type, Address/@Role)
| Address | MR |  | Address
@ | SIF_Action | O | 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.3-1: AddressList
<AddressList> <Address Type="0123" Role="012B"> <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>1101</Country> <PostalCode>60611</PostalCode> <GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation> </Address> </AddressList>
Example 6.2.3-1: AddressList

### 6.2.4 AttendanceCode

Figure 6.2.4-1: AttendanceCode

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| AttendanceCode |  | Code that describes the absence/attendance. |
| Code | M | Code representing the absence/attendance. | AUCodeSetsAttendanceCodeType
| OtherCodeList | O |  | OtherCodeList

Table 6.2.4-1: AttendanceCode
<AttendanceCode> <Code>200</Code> <OtherCodeList> <OtherCode Codeset="Local">S</OtherCode> <OtherCode Codeset="Other">C</OtherCode> </OtherCodeList> </AttendanceCode>
Example 6.2.4-1: AttendanceCode

### 6.2.5 BirthDate

A person's date of birth.

Figure 6.2.5-1: BirthDate

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| BirthDate |  | A person's date of birth. | xs:date

Table 6.2.5-1: BirthDate
<BirthDate>1970-08-11</BirthDate>
Example 6.2.5-1: BirthDate

### 6.2.6 ContactInfo

Common element used to supply information for a contact person at a school, LEA, or other institution.

Figure 6.2.6-1: ContactInfo

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ContactInfo |  | Common element used to supply information for a contact person at a school, LEA, or other institution. |
| Name | M |  | Name
| PositionTitle | O | The contact person's position title. Examples Superintendent | xs:normalizedString
| Role | O | Role played by this contact in this instance. Examples Report Contact Primary Contact Alternate Contact | xs:normalizedString
| Address | O | Address of the contact. | Address
| EmailList | O | List of Email elements. | EmailList
| PhoneNumberList | O | List of PhoneNumber elements. | PhoneNumberList

Table 6.2.6-1: ContactInfo
<ContactInfo> <Name Type="LGL"> <FamilyName>Woodall</FamilyName> <GivenName>Charles</GivenName> <MiddleName>William</MiddleName> </Name> <PositionTitle>Superintendent</PositionTitle> <EmailList> <Email Type="01">drseuss@whoville.k12.state.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(02) 9555-0102</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo>
Example 6.2.6-1: ContactInfo

### 6.2.7 Country

A country code.

Figure 6.2.7-1: Country

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Country |  | A country code. | union of: AUCodeSetsStandardAustralianClassificationOfCountriesSACCType

Table 6.2.7-1: Country
<Country>1101</Country>
Example 6.2.7-1: Country

### 6.2.8 Demographics

Demographics information about the student, contact, staff member, etc.

Figure 6.2.8-1: Demographics

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Demographics |  | Demographics information about the student, contact, staff member, etc. |
| IndigenousStatus | O | Whether or not the student identifies themselves as being of Aboriginal and/or Torres Strait Islander descent. | AUCodeSetsIndigenousStatusType
| Sex | O | 'Sex' is the distinction 'male' and 'female', as reported by the person | AUCodeSetsSexCodeType
| BirthDate | O | The person's date of birth. | BirthDate
| BirthDateVerification | O | Means by which the person's birth date was validated. | AUCodeSetsBirthdateVerificationType
| PlaceOfBirth | O | The person's place of birth—like village, town, city etc. | xs:normalizedString
| StateOfBirth | O | The person's state of birth. | StateProvince
| CountryOfBirth | O | The person's country of birth. | Country
| CountriesOfCitizenship | O |  | List
| CountriesOfCitizenship/CountryOfCitizenship | MR | A person's country of citizenship. | Country
| CountriesOfResidency | O |  | List
| CountriesOfResidency/CountryOfResidency | MR | A person's country of residence. | Country
| CountryArrivalDate | O | Date the person first arrived in the country. | xs:date
| AustralianCitizenshipStatus | O | The person's citizenship status. | AUCodeSetsAustralianCitizenshipStatusType
| EnglishProficiency | O | Person's proficiency in English. | EnglishProficiency
| LanguageList | O | List of languages an individual uses to communicate. | LanguageList
| DwellingArrangement | O | Setting/environment in which the person resides. |
| DwellingArrangement/Code | M | Code representing the setting/environment in which the person resides | AUCodeSetsDwellingArrangementType
| DwellingArrangement/OtherCodeList | O |  | OtherCodeList
| Religion | O | Type of Religion if any |
| Religion/Code | M | Religion Code | AUCodeSetsAustralianStandardClassificationOfReligiousGroupsASCRGType
| Religion/OtherCodeList | O |  | OtherCodeList
| ReligiousEventList | O | List of Religious events | List
| ReligiousEventList/ReligiousEvent | OR |  |
| ReligiousEventList/ReligiousEvent/ Type | M | Religious Event - Currently Free Text | xs:normalizedString
| ReligiousEventList/ReligiousEvent/ Date | M | Date of Religious Event | xs:date
| ReligiousRegion | O | Belong to Religious Region - Currently Free Text. | xs:normalizedString
| PermanentResident | O | Australian Residency Status (Mandatory for Student) | AUCodeSetsPermanentResidentStatusType
| VisaSubClass | O | Visa Sub-Class - Can be free text - not necessary to validate | union of: AUCodeSetsVisaSubClassType xs:string
| VisaStatisticalCode | O | Visa Statistical Code - Can be free text - not necessary to validate | xs:normalizedString
| VisaExpiryDate | O | Expiry Date of Visa if one exists | xs:date
| ImmunisationCertificateStatus | O | Status of Immunisation Certificate | AUCodeSetsImmunisationCertificateStatusType
| CulturalBackground | O | Used to indicate cultural background. | AUCodeSetsAustralianStandardClassificationOfCulturalAndEthnicGroupsASCCEGType
| MaritalStatus | O | The person's marital status. | AUCodeSetsMaritalStatusAIHWType

Table 6.2.8-1: Demographics
<Demographics> <IndigenousStatus>3</IndigenousStatus> <Sex>1</Sex> <BirthDate>1990-09-26</BirthDate> <BirthDateVerification>1004</BirthDateVerification> <PlaceOfBirth>Clayton</PlaceOfBirth> <StateOfBirth>VIC</StateOfBirth> <CountryOfBirth>1101</CountryOfBirth> <CountriesOfCitizenship> <CountryOfCitizenship>8104</CountryOfCitizenship> <CountryOfCitizenship>1101</CountryOfCitizenship> </CountriesOfCitizenship> <CountriesOfResidency> <CountryOfResidency>8104</CountryOfResidency> <CountryOfResidency>1101</CountryOfResidency> </CountriesOfResidency> <CountryArrivalDate>1990-09-26</CountryArrivalDate> <AustralianCitizenshipStatus>1</AustralianCitizenshipStatus> <EnglishProficiency> <Code>1</Code> </EnglishProficiency> <LanguageList> <Language> <Code>0001</Code> <LanguageType>1</LanguageType> </Language> </LanguageList> <DwellingArrangement> <Code>1671</Code> </DwellingArrangement> <Religion> <Code>2013</Code> </Religion> <ReligiousEventList> <ReligiousEvent> <Type>Baptism</Type> <Date>2000-09-01</Date> </ReligiousEvent> <ReligiousEvent> <Type>Christmas</Type> <Date>2009-12-24</Date> </ReligiousEvent> </ReligiousEventList> <ReligiousRegion>The Religion Region</ReligiousRegion> <PermanentResident>P</PermanentResident> <VisaSubClass>101</VisaSubClass> <VisaStatisticalCode>05</VisaStatisticalCode> </Demographics>
Example 6.2.8-1: Demographics Example

### 6.2.9 EducationalLevel

A code representing the highest level of education completed by a person.

Figure 6.2.9-1: EducationalLevel

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| EducationalLevel |  | A code representing the highest level of education completed by a person. | AUCodeSetsSchoolEducationLevelTypeType

Table 6.2.9-1: EducationalLevel
<EducationalLevel>3</EducationalLevel>
Example 6.2.9-1: EducationalLevel

### 6.2.10 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:

- Content providers receiving a request for learning resources can tag content with applicable filters. Upon receipt of SIF objects, receiving application can then read the metadata to categorize the content most appropriately.
- When supported by providers, this metadata can then be utilized in queries to more precisely limit the type of content returned to requesting applications.

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`.

Figure 6.2.10-1: EducationFilter

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| EducationFilter |  |  |
| LearningStandardItems | O | Allows any SIF object to be correlated to learning standards. | List
| LearningStandardItems/LearningStandardItemRefId | MR |  | IdRefType

Table 6.2.10-1: EducationFilter
<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>
Example 6.2.10-1: EducationFilter - Example 1

### 6.2.11 ElectronicId

Common element used to specify entity identifiers that are read by electronic equipment.

Figure 6.2.11-1: ElectronicId

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ElectronicId |  | Common element used to specify entity identifiers that are read by electronic equipment. | xs:normalizedString
@ | Type | M | Electronic ID type. | AUCodeSetsElectronicIdTypeType

Table 6.2.11-1: ElectronicId
<ElectronicId Type="01">206654</ElectronicId>
Example 6.2.11-1: ElectronicId

### 6.2.12 ElectronicIdList

A list of electronic identifiers associated with an entity.

Figure 6.2.12-1: ElectronicIdList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ElectronicIdList |  | A list of electronic identifiers associated with an entity. | List
| ElectronicId | MR |  | ElectronicId

Table 6.2.12-1: ElectronicIdList
<ElectronicIdList> <ElectronicId Type="01">206654</ElectronicId> <ElectronicId Type="03">1234</ElectronicId> </ElectronicIdList>
Example 6.2.12-1: ElectronicIdList

### 6.2.13 Email

This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContactPersonal, etc.

Figure 6.2.13-1: Email

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Email |  | This element represents an e-mail address of one of a number of types and occurs in objects such as StudentPersonal, StaffPersonal, StudentContactPersonal, etc. | xs:normalizedString
@ | Type | M | This attribute specifies the type of e-mail address. | AUCodeSetsEmailTypeType

Table 6.2.13-1: Email
<Email Type="01">contact@sifinfo.org</Email>
Example 6.2.13-1: Email

### 6.2.14 EmailList

A list of e-mail addresses associated with an individual or organization.

Figure 6.2.14-1: EmailList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| EmailList |  | A list of e-mail addresses associated with an individual or organization. | ActionList (Email/@Type)
| Email | MR |  | Email
@ | SIF_Action | O | 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.14-1: EmailList
<EmailList> <Email Type="01">contact@sifinfo.org</Email> <Email Type="02">info@sifinfo.org</Email> </EmailList>
Example 6.2.14-1: EmailList

### 6.2.15 EnglishProficiency

Figure 6.2.15-1: EnglishProficiency

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| EnglishProficiency | O |  |
| Code | M | Person's proficiency in English. | AUCodeSetsEnglishProficiencyType
| OtherCodeList | O |  | OtherCodeList

Table 6.2.15-1: EnglishProficiency
<EnglishProficiency> <Code>9</Code> </EnglishProficiency>
Example 6.2.15-1: EnglishProficiency

### 6.2.16 GraduationDate

Date student officially graduated from secondary education.

Figure 6.2.16-1: GraduationDate

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| GraduationDate |  | Date student officially graduated from secondary education. | PartialDateType

Table 6.2.16-1: GraduationDate
<GraduationDate>2005-05-27</GraduationDate>
Example 6.2.16-1: GraduationDate

### 6.2.17 GridLocation

This element contains a map location. The GridLocation element is utilized within the Address element.

Figure 6.2.17-1: GridLocation

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| GridLocation |  | This element contains a map location. The GridLocation element is utilized within the Address element. |
| Latitude | M | 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:maxInclusive | 90
| Longitude | M | 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:maxInclusive | 180

Table 6.2.17-1: GridLocation
<GridLocation> <Latitude>41.850000</Latitude> <Longitude>-87.650000</Longitude> </GridLocation>
Example 6.2.17-1: GridLocation

### 6.2.18 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.

Figure 6.2.18-1: HomeroomNumber

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| 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.18-1: HomeroomNumber
<HomeroomNumber>A-204</HomeroomNumber>
Example 6.2.18-1: HomeroomNumber

### 6.2.19 LanguageList

Figure 6.2.19-1: LanguageList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| LanguageList | O |  | List
| Language | MR |  |
| Language/Code | M | The code representing the specific language that an individual uses to communicate. | AUCodeSetsAustralianStandardClassificationOfLanguagesASCLType
| Language/OtherCodeList | O |  | OtherCodeList
| Language/LanguageType | O | An indication of the function and context in which an individual uses a language to communicate. | AUCodeSetsLanguageTypeType
| Language/Dialect | O | Specific dialect of a person's language. | xs:normalizedString

Table 6.2.19-1: LanguageList
<LanguageList> <Language> <Code>1201</Code> <LanguageType>1</LanguageType> </Language> <Language> <Code>1301</Code> <LanguageType>9</LanguageType> </Language> </LanguageList>
Example 6.2.19-1: LanguageList

### 6.2.20 LifeCycle

This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM].

Figure 6.2.20-1: LifeCycle

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| LifeCycle |  | This common metadata element describes the life cycle of the object it represents, based on the IEEE LOM LifeCycle element [LOM]. |
| Created | O | 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/DateTime | M |  | xs:dateTime
| Created/Creators | O |  | List
| Created/Creators/Creator | MR |  |
| 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 | M | Unique identifier of the creator. An email address or URI could be used here. | xs:normalizedString
| ModificationHistory | O | 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 | OR | A single modification event. |
| ModificationHistory/Modified/ By | M | Identifier of the system or person that modified the data. | xs:normalizedString
| ModificationHistory/Modified/ DateTime | M | The date/time the modification occurred. | xs:dateTime
| ModificationHistory/Modified/ Description | O | Human readable description of the data modifications. | xs:string
| TimeElements | O |  | List
| TimeElements/TimeElement | OR |  | TimeElement

Table 6.2.20-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.2.20-1: LifeCycle

### 6.2.21 LocalId

This is a common element used to define the locally assigned identifier associated with an entity.

Figure 6.2.21-1: LocalId

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| LocalId |  | This is a common element used to define the locally assigned identifier associated with an entity. | xs:normalizedString

Table 6.2.21-1: LocalId
<LocalId>123321A</LocalId>
Example 6.2.21-1: LocalId

### 6.2.22 Location

This common element initially supports core data elements describing specific physical locations.

Figure 6.2.22-1: Location

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Location |  |  |
@ | Type | O |  | values: Classroom School District Campus IntermediateUnit StateEducationAgency NonInstructionalSpace AthleticVenue Other
| LocationName | O | Name of the location. | xs:token
| LocationRefId | O | RefId of the location object if the location is a SIF Object such as `SchoolInfo`. | IdRefType
@ | SIF_RefObject | M | Type of SIF Object `Location` points to. | values: SchoolInfo LEAInfo RoomInfo

Table 6.2.22-1: Location
<Location Type="Classroom"> <LocationName>Beaconhills Middle School Library</LocationName> <LocationRefId SIF_RefObject="RoomInfo">947582610947583ACEB2BB345291BAAA</LocationRefId> </Location>
Example 6.2.22-1: Location

### 6.2.23 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, StudentContactPersonal, StaffPersonal, etc.
Figure 6.2.23-1: Name

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| 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, StudentContactPersonal, StaffPersonal, etc. | BaseNameType
@ | Type | M | Code that specifies what type of name this is. If unsure, use `LGL`. | AUCodeSetsNameUsageTypeType

Table 6.2.23-1: Name
<Name Type="LGL"> <FamilyName>Woodall</FamilyName> <GivenName>Charles</GivenName> <MiddleName>William</MiddleName> </Name>
Example 6.2.23-1: Name

### 6.2.24 OnTimeGraduationYear

First projected graduation year, usually determined when student is accepted into 9th grade (CCYY).

Figure 6.2.24-1: OnTimeGraduationYear

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| OnTimeGraduationYear |  | First projected graduation year, usually determined when student is accepted into 9th grade (CCYY). | xs:gYear

Table 6.2.24-1: OnTimeGraduationYear
<OnTimeGraduationYear>2006</OnTimeGraduationYear>
Example 6.2.24-1: OnTimeGraduationYear

### 6.2.25 OperationalStatus

This common element contains status information an institution.

Figure 6.2.25-1: OperationalStatus

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| OperationalStatus |  | Operational condition of an institution. | union of: AUCodeSetsOperationalStatusType

Table 6.2.25-1: OperationalStatus
<OperationalStatus>O</OperationalStatus>
Example 6.2.25-1: OperationalStatus

### 6.2.26 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 `OtherCode`s are supported, both `Code` and all associated `OtherCode` elements must be present.

Figure 6.2.26-1: OtherCodeList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| 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 `OtherCode`s are supported, both `Code` and all associated `OtherCode` elements must be present. | List
| OtherCode | MR | 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
@ | Codeset | M | 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.26-1: OtherCodeList
<OtherCodeList> <OtherCode Codeset="Local">S</OtherCode> <OtherCode Codeset="Text">Semester</OtherCode> </OtherCodeList>
Example 6.2.26-1: OtherCodeList

### 6.2.27 OtherNames

Previous, alternate or other names or aliases associated with a person.

Figure 6.2.27-1: OtherNames

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| OtherNames | O | Previous, alternate or other names or aliases associated with a person. | ActionList (Name/@Type)
| Name | MR | Name of the person. Note: Type value of `LGL` may not occur here. | OtherNameType
@ | SIF_Action | O | 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.27-1: OtherNames
<OtherNames> <Name Type="AKA"> <FamilyName>Anderson</FamilyName> <GivenName>Samuel</GivenName> <FullName>Samuel Anderson</FullName> </Name> <Name Type="PRF"> <FamilyName>Rowinski</FamilyName> <GivenName>Sam</GivenName> <FullName>Sam Rowinski </FullName> </Name> </OtherNames>
Example 6.2.27-1: OtherNames

### 6.2.28 PersonInfo

Figure 6.2.28-1: PersonInfo

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| PersonInfo |  |  |
| Name | M | The name of the person. Note: Type attribute value of LGL must be used here. | NameOfRecordType
| OtherNames | O | Previous, alternate or other names or aliases associated with the person. | OtherNames
| Demographics | O | Demographic information about the person. | Demographics
| AddressList | O | The person’s address(es). | AddressList
| PhoneNumberList | O | The person’s phone number(s). | PhoneNumberList
| EmailList | O | The person’s e-mail address(es). | EmailList

Table 6.2.28-1: PersonInfo
<PersonInfo> <Name Type="LGL"> <FamilyName>Smith</FamilyName> <GivenName>Fred</GivenName> <FullName>Fred Smith</FullName> </Name> <OtherNames> <Name Type="AKA"> <FamilyName>Anderson</FamilyName> <GivenName>Samuel</GivenName> <FullName>Samuel Anderson</FullName> </Name> <Name Type="PRF"> <FamilyName>Rowinski</FamilyName> <GivenName>Sam</GivenName> <FullName>Sam Rowinski </FullName> </Name> </OtherNames> <Demographics> <IndigenousStatus>3</IndigenousStatus> <Sex>1</Sex> <BirthDate>1990-09-26</BirthDate> <BirthDateVerification>1004</BirthDateVerification> <PlaceOfBirth>Clayton</PlaceOfBirth> <StateOfBirth>VIC</StateOfBirth> <CountryOfBirth>1101</CountryOfBirth> <CountriesOfCitizenship> <CountryOfCitizenship>8104</CountryOfCitizenship> <CountryOfCitizenship>1101</CountryOfCitizenship> </CountriesOfCitizenship> <CountriesOfResidency> <CountryOfResidency>8104</CountryOfResidency> <CountryOfResidency>1101</CountryOfResidency> </CountriesOfResidency> <CountryArrivalDate>1990-09-26</CountryArrivalDate> <AustralianCitizenshipStatus>1</AustralianCitizenshipStatus> <EnglishProficiency> <Code>1</Code> </EnglishProficiency> <LanguageList> <Language> <Code>0001</Code> <LanguageType>1</LanguageType> </Language> </LanguageList> <DwellingArrangement> <Code>1671</Code> </DwellingArrangement> <Religion> <Code>2013</Code> </Religion> <ReligiousEventList> <ReligiousEvent> <Type>Baptism</Type> <Date>2000-09-01</Date> </ReligiousEvent> <ReligiousEvent> <Type>Christmas</Type> <Date>2009-12-24</Date> </ReligiousEvent> </ReligiousEventList> <ReligiousRegion>The Religion Region</ReligiousRegion> <PermanentResident>P</PermanentResident> <VisaSubClass>101</VisaSubClass> <VisaStatisticalCode>05</VisaStatisticalCode> </Demographics> <AddressList> <Address Type="0123" Role="2382"> <Street> <Line1>Unit1/10</Line1> <Line2>Barkley Street</Line2> </Street> <City>Yarra Glenn</City> <StateProvince>VIC</StateProvince> <Country>1101</Country> <PostalCode>9999</PostalCode> </Address> <Address Type="0123A" Role="013A"> <Street> <Line1>34 Term Address Street</Line1> </Street> <City>Home Town</City> <StateProvince>WA</StateProvince> <Country>1101</Country> <PostalCode>9999</PostalCode> </Address> </AddressList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>03 9637-2289</Number> <Extension>72289</Extension> <ListedStatus>Y</ListedStatus> </PhoneNumber> <PhoneNumber Type="0888"> <Number>0437-765-234</Number> <ListedStatus>N</ListedStatus> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="01">fsmith@yahoo.com</Email> <Email Type="02">freddy@gmail.com</Email> </EmailList> </PersonInfo>
Example 6.2.28-1: PersonInfo

### 6.2.29 PhoneNumber

This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc.

Figure 6.2.29-1: PhoneNumber

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| PhoneNumber |  | This element represents a phone number and occurs within objects such as StudentPersonal, StaffPersonal, etc. |
@ | Type | M | Code that specifies what type of phone number this is. Note: A subset of valid values may be specified in data objects. | AUCodeSetsTelephoneNumberTypeType
| Number | M | Phone number. Free-form, but typical Australian formats include: (###) ####-#### ####-#### +##### ### ### | xs:normalizedString
| Extension | O | Phone number extension. | xs:normalizedString
| ListedStatus | O | Indicates whether or not the phone number is available to the public. | AUCodeSetsYesOrNoCategoryType

Table 6.2.29-1: PhoneNumber
<PhoneNumber Type="0096"> <Number>(03) 9543 2000</Number> <Extension>245</Extension> </PhoneNumber>
Example 6.2.29-1: PhoneNumber

### 6.2.30 PhoneNumberList

Lists phone numbers associated with an entity.

Figure 6.2.30-1: PhoneNumberList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| PhoneNumberList |  | Lists phone numbers associated with an entity. | ActionList (PhoneNumber/@Type)
| PhoneNumber | MR |  | PhoneNumber
@ | SIF_Action | O | 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.30-1: PhoneNumberList
<PhoneNumberList> <PhoneNumber Type="0096"> <Number>(03) 9543 2000</Number> </PhoneNumber> </PhoneNumberList>
Example 6.2.30-1: PhoneNumberList

### 6.2.31 PrincipalInfo

Information about the campus or school principal.

Figure 6.2.31-1: PrincipalInfo

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| PrincipalInfo | O | Information about the campus or school principal. |
| ContactName | M | The name of the principal. | NameOfRecordType
| ContactTitle | O | The principal's title. | xs:normalizedString
| PhoneNumberList | O | The principal’s phone number(s). | PhoneNumberList
| EmailList | O | The principal’s e-mail address(es). | EmailList

Table 6.2.31-1: PrincipalInfo
<PrincipalInfo> <ContactName Type="LGL"> <Title>Mr</Title> <FamilyName>Miller</FamilyName> <GivenName>James</GivenName> <MiddleName>Frank</MiddleName> <Suffix>Jr.</Suffix> <FullName>Mr James Frank Miller Jr.</FullName> </ContactName> <ContactTitle>School Principal</ContactTitle> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>03 9637-2000</Number> <Extension>72345</Extension> <ListedStatus>Y</ListedStatus> </PhoneNumber> </PhoneNumberList> <EmailList> <Email Type="01">jmiller@lsc.vic.edu.au</Email> <Email Type="02">jmiller@yahoo.com.au</Email> </EmailList> </PrincipalInfo>
Example 6.2.31-1: PrincipalInfo

### 6.2.32 ProgramStatus

Figure 6.2.32-1: ProgramStatus

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ProgramStatus |  |  |
| Code | M | The current status of the student's program participation. | values: S001 Referred S002 Eligible S003 Not Eligible S004 Active S005 Exited S006 Withdrew/refused 9999 Other
| OtherCodeList | O |  | OtherCodeList

Table 6.2.32-1: ProgramStatus
<ProgramStatus> <Code>S004</Code> </ProgramStatus>
Example 6.2.32-1: ProgramStatus

### 6.2.33 ProjectedGraduationYear

Currently projected graduation year.

Figure 6.2.33-1: ProjectedGraduationYear

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| ProjectedGraduationYear |  | Currently projected graduation year (CCYY). | xs:gYear

Table 6.2.33-1: ProjectedGraduationYear
<ProjectedGraduationYear>2006</ProjectedGraduationYear>
Example 6.2.33-1: ProjectedGraduationYear

### 6.2.34 PublishInDirectory

This is a common element used to specify whether or not information (e.g., contact information) should be published in a directory.

Figure 6.2.34-1: PublishInDirectory

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| PublishInDirectory |  | Indicates whether or not information should be published in a directory. | AUCodeSetsYesOrNoCategoryType

Table 6.2.34-1: PublishInDirectory
<PublishInDirectory>Y</PublishInDirectory>
Example 6.2.34-1: PublishInDirectory

### 6.2.35 Relationship

Code that defines the relationship of one person to another.

Figure 6.2.35-1: Relationship

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| Relationship |  | Code that defines the relationship of one person to another. |
| Code | M | Code representing the relationship. | AUCodeSetsRelationshipToStudentType
| OtherCodeList | O |  | OtherCodeList

Table 6.2.35-1: Relationship
<Relationship> <Code>01</Code> </Relationship>
Example 6.2.35-1: Relationship

### 6.2.36 SchoolContactList

A list of contact persons associated with a school.

Figure 6.2.36-1: SchoolContactList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SchoolContactList |  | A list of contact persons associated with a school. | List
| SchoolContact | MR | 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.36-1: SchoolContactList
<SchoolContactList> <SchoolContact> <PublishInDirectory>Y</PublishInDirectory> <ContactInfo> <Name Type="LGL"> <FamilyName>Woodall</FamilyName> <GivenName>Charles</GivenName> <MiddleName>William</MiddleName> </Name> <PositionTitle>Superintendent</PositionTitle> <EmailList> <Email Type="01">drseuss@whoville.k12.state.us</Email> </EmailList> <PhoneNumberList> <PhoneNumber Type="0096"> <Number>(08) 8555-0102</Number> </PhoneNumber> </PhoneNumberList> </ContactInfo> </SchoolContact> </SchoolContactList>
Example 6.2.36-1: SchoolContactList

### 6.2.37 SchoolURL

URL for a school.

Figure 6.2.37-1: SchoolURL

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SchoolURL |  | URL for a school. | xs:anyURI

Table 6.2.37-1: SchoolURL
<SchoolURL>http://www.lincolnhs.edu</SchoolURL>
Example 6.2.37-1: SchoolURL

### 6.2.38 SchoolYear

Common element used to designate the academic school year to which an object relates.

Figure 6.2.38-1: SchoolYear

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SchoolYear |  | School year for which the information is applicable, expressed as the four-digit year in which the school year ends (e.g., "2009"). | xs:gYear

Table 6.2.38-1: SchoolYear
<SchoolYear>2005</SchoolYear>
Example 6.2.38-1: SchoolYear

### 6.2.39 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.

Figure 6.2.39-1: SIF_ExtendedElements

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| 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_ExtendedElement | OR | A name/value pair, the name being contained in the Name attribute, the value being the element content. | ExtendedContentType
@ | Name | M | 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:type | O | Allows type of element to be explicitly communicated. |
@ | SIF_Action | O | 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.39-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.39-1: SIF_ExtendedElements

### 6.2.40 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.

Figure 6.2.40-1: SIF_Metadata

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SIF_Metadata |  | A commonly defined container for metadata elements defined within SIF. |
| TimeElements | O |  | List
| TimeElements/TimeElement | OR |  | TimeElement
| LifeCycle | O |  | LifeCycle
| EducationFilter | O |  | EducationFilter

Table 6.2.40-1: SIF_Metadata

### 6.2.41 StateProvince

A state or province code. Note: When dealing with countries other than Australia, state/province codes/values other than those referenced here can be used.

Figure 6.2.41-1: StateProvince

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| StateProvince |  | A state or province code. Note: When dealing with countries other than Australia, state/province codes/values other than those referenced here can be used. | union of: AUCodeSetsStateTerritoryCodeType xs:token

Table 6.2.41-1: StateProvince
<StateProvince>ACT</StateProvince>
Example 6.2.41-1: StateProvince

### 6.2.42 StateProvinceId

This is a common element used to define the state or province assigned identifier associated with an entity.

Figure 6.2.42-1: StateProvinceId

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| StateProvinceId |  | The identifier for this entity as assigned by the state or province. | xs:normalizedString

Table 6.2.42-1: StateProvinceId
<StateProvinceId>L65432765</StateProvinceId>
Example 6.2.42-1: StateProvinceId

### 6.2.43 SubjectArea

Subject matter.

Figure 6.2.43-1: SubjectArea

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SubjectArea |  | Subject matter. |
| Code | M | The subject area details | xs:normalizedString
| OtherCodeList | O |  | OtherCodeList

Table 6.2.43-1: SubjectArea
<SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts</OtherCode> </OtherCodeList> </SubjectArea>
Example 6.2.43-1: SubjectArea

### 6.2.44 SubjectAreaList

A list of subject areas.

Figure 6.2.44-1: SubjectAreaList

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| SubjectAreaList |  | A list of subject areas. | List
| SubjectArea | MR | Subject matter. | SubjectArea

Table 6.2.44-1: SubjectAreaList
<SubjectAreaList> <SubjectArea> <Code>05</Code> <OtherCodeList> <OtherCode Codeset="Text">Graphic Arts</OtherCode> <OtherCode Codeset="Local">GRA</OtherCode> </OtherCodeList> </SubjectArea> <SubjectArea> <Code>06</Code> <OtherCodeList> <OtherCode Codeset="Text">Visual Arts</OtherCode> </OtherCodeList> </SubjectArea> </SubjectAreaList>
Example 6.2.44-1: SubjectAreaList

### 6.2.45 TimeElement

A common metadata element designed to contain time data, both self-defined and by type.

Figure 6.2.45-1: TimeElement

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| TimeElement |  | A common metadata element designed to contain time data, both self-defined and by type. |
| Type | M | 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
| Code | M | 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
| Name | M | Contains a human-readable description of the value in `Value`. Examples Class of '07 Fall 2007 Parent-Teacher Conferences | xs:normalizedString
| Value | M | Contains the human-readable value. Examples 2007 Evening of 10/12/06 | xs:normalizedString
| StartDateTime | O |  | xs:dateTime
| EndDateTime | O |  | xs:dateTime
| SpanGaps | O | A container element for holding multiple possible span gaps. | List
| SpanGaps/SpanGap | OR | 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/Type | M |  | xs:normalizedString
| SpanGaps/SpanGap/Code | M |  | xs:token
| SpanGaps/SpanGap/Name | M |  | xs:normalizedString
| SpanGaps/SpanGap/Value | M |  | xs:normalizedString
| SpanGaps/SpanGap/StartDateTime | O |  | xs:dateTime
| SpanGaps/SpanGap/EndDateTime | O |  | xs:dateTime
| IsCurrent | M | 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.2.45-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.2.45-1: TimeElement

### 6.2.46 YearLevel

Figure 6.2.46-1: YearLevel

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| YearLevel |  | Year or academic level. |
| Code | M | Code representing the year level. | AUCodeSetsYearLevelCodeType

Table 6.2.46-1: YearLevel
<YearLevel> <Code>8</Code> </YearLevel>
Example 6.2.46-1: YearLevel

### 6.2.47 YearLevels

List of year levels.

Figure 6.2.47-1: YearLevels

| Element/@Attribute | Char | Description | Type
--- | --- | --- | --- | ---
| YearLevels |  | List of year levels. | List
| YearLevel | MR |  | YearLevel

Table 6.2.47-1: YearLevels
<YearLevels> <YearLevel> <Code>5</Code> </YearLevel> <YearLevel> <Code>6</Code> </YearLevel> <YearLevel> <Code>7</Code> </YearLevel> <YearLevel> <Code>8</Code> </YearLevel> </YearLevels>
Example 6.2.47-1: YearLevels