Skip Headers

Oracle® Student Learning Programmer's Guide Release 3.1.3 Part Number E20666-04 |
Home | Book List | Contents | Contact Us

Previous | Next
| PDF · Mobi · ePub

# A Data Loading Service Objects

This appendix contains Data Loading service object references.

## A.1 AddressActionInfo

AddressActionInfo captures the action to perform on an address and the address details relevant to the action.

Table A-1 list the attributes of addressActionInfo object.

Table A-1 AddressActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on the address. Example: A Create Action indicates that a new address would be created.
address | addressInfo | Address details.

Table A-2 lists the action type.

Table A-2 action

Name | Description
--- | ---
Create | Create the object.
CreateOrUpdate | Create or update the object.
Delete | Delete the object.
Update | Update the object.

## A.2 AddressActionInfoArray

AddressActionInfoArray contains a list of AddressActionInfo objects.

Table A-3 list the attributes of addressActionInfoArray object.

Table A-3 AddressActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | addressActionInfo | The action to perform on an address and the address details relevant to the action.

## A.3 AddressInfo

The address details are captured in the AddressInfo. An address should at a minimum, contain the usage type, street name, state, post code, and country code.

Table A-4 list the attributes of addressInfo object.

Table A-4 AddressInfo Attributes

Name | Type | Description
--- | --- | ---
addressLine | string | The full address.
apartmentNumber | string | The apartment number.
apartmentNumberPrefix | string | Apartment prefix. Example: Level, Floor, and so on.
apartmentNumberSuffix | string | Apartment number suffix. Example: A
apartmentType | string | Type of apartment. Example: Suite
city | string | City.
countryCode | string | Country code. This attribute is mandatory for createInstitutions operation.
endDate | dateTime | Effective end date of the address.
id | idInfo | Identifier object that uniquely identifies the address.
postCode | string | Postal code of the address. This attribute is mandatory for createInstitutions operation.
startDate | dateTime | Effective start date of the address.
state | string | State. This attribute is mandatory for createInstitutions operation.
streetName | string | Name of Street. This attribute is mandatory for createInstitutions operation.
streetNumber | string | Street Number.
streetPrefix | string | Street Prefix. Example: Lot, Unit, POBox, and so on.
streetSuffix | string | Street suffix. Example: SE
streetType | string | Type of Street. Example: Lane, Road, and so on.
suburb | string | Suburb.
usageType | string | Indicates the functional use of the location. Example: Primary address, home, business. This attribute is mandatory for createInstitutions operation.

Table A-5 contactType

Name | Description
--- | ---
EMAIL | Email address.
PHONE | Phone number.

## A.4 AdoptCalendarInfo

AdoptCalendarInfo captures the adoption of the department academic calendar by the school.

Table A-6 list the attributes of adoptCalendarInfo object.

Table A-6 AdoptCalendarInfo Attributes

Name | Type | Description
--- | --- | ---
adoptedCalendarId | idInfo | Identifier object that uniquely identifies the adopted calendar.
adoptingSchoolId | idInfo | Identifier object that uniquely identifies the school adopting the department academic calendar. This a mandatory attribute for adoptDepartmentCalendars operation.
originalCalendarId | idInfo | Identifier object that uniquely identifies the department academic calendar to be adopted. This attribute is mandatory for adoptDepartmentCalendars operation.

## A.5 BlueprintNodeActionInfo

BlueprintNodeActionInfo captures the action to perform on a blueprint node and the blueprint node details relevant to the action.

Table A-7 list the attributes of blueprintNodeActionInfo object.

Table A-7 BlueprintNodeActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a blueprint node. Example: A Create Action indicates that a blueprint node would be created. This attribute is mandatory.
blueprintNode | blueprintNodeInfo | Blueprint node details. This attribute is mandatory.

Table A-8 lists the action type.

Table A-8 action

Name | Description
--- | ---
Create | Create the object.
CreateOrUpdate | Create or update the object.
Delete | Delete the object.
Update | Update the object.

## A.6 BlueprintNodeActionInfoArray

BlueprintNodeActionInfoArray contains a list of blueprintNodeActionInfo objects.

Table A-9 list the attributes of BlueprintNodeActionInfoArray object.

Table A-9 BlueprintNodeActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | blueprintNodeActionInfo | The action to perform on a blueprint node and the blueprint node details relevant to the action.

## A.7 BlueprintNodeInfo

Blueprint nodes are organized in a hierarchical structure. Each blueprint node can have one or more blueprint nodes under it. The details of each blueprint node are captured in a blueprintNodeInfo.

Table A-10 list the attributes of blueprintNodeInfo object.

Table A-10 BlueprintNodeInfo Attributes

Name | Type | Description
--- | --- | ---
childrenLists | blueprintNodeInfo | List of blueprint nodes. This attribute is only populated in the response of the createBlueprintNodes, getBlueprintNodes, and updateBlueprintNodes operations.
childrenActions | blueprintNodeActionInfoArray | A list of actions to perform on the blueprint node. This is used in the createBlueprintNodes, updateBlueprintNodes operations when creating, updating, or deleting the blueprint nodes.
description | string | Blueprint node description.
endDate | dateTime | Effective end date of blueprint node.
frameworkId | idInfo | Identifier object that uniquely identifies a framework. This attribute is mandatory for createBlueprintNodes operation.
id | idInfo | Identifier object that uniquely identifies a blueprint node.
name | string | Blueprint node name. This attribute is mandatory for createBlueprintNodes operation.
parentId | idInfo | Identifier object that uniquely identifies the parent blueprint node. This attribute is only set in the response of createBlueprintNodes, getBlueprintNodes, and updateBlueprintNodes operations.
startDate | dateTime | Effective start date of blueprint node. This attribute is mandatory for createBlueprintNodes operation.

## A.8 CalendarInfo

Typically, department and school would have academic calendars corresponding to the academic years. Under an academic calendar, there can be sub-calendars to represent shorter academic periods such as semesters.The details of each of these academic calendars and academic sub-calendars are captured in a CalendarInfo.

Table A-11 list the attributes of calendarInfo object.

Table A-11 CalendarInfo Attributes

Name | Type | Description
--- | --- | ---
endDate | dateTime | End date of the academic calendar. This attribute is mandatory for createCalendars operation.
id | idInfo | Identifier object that uniquely identifies the calendar.
institutionId | idInfo | Identifier object that uniquely identifies the department or school. This attribute is mandatory for createCalendars operation.
name | string | Calendar name. This attribute is mandatory for createCalendars operation.
parentId | idInfo | Identifier object that uniquely identifies the parent calendar.
startDate | dateTime | Start date of the academic calendar. This attribute is mandatory for createCalendars operation.

## A.9 ClassInfo

After an offering is created, multiple classes can be created against the offering. Students enrolled in these classes are taught based on the course of the offering. After a class is created, the offering and school cannot be updated.

The start date and end date of a class should not exceed the start date and end date of the offering.

Table A-12 list the attributes of classInfo object.

Table A-12 ClassInfo Attributes

Name | Type | Description
--- | --- | ---
description | string | Class description.
endDate | dateTime | Effective end date of class.
enrollmentActions | enrollmentActionInfoArray | A list of actions to perform in the class enrollments. This is used in the createClasses and updateClasses operations when creating, updating, or deleting the class enrollments.
enrollmentsLists | enrollmentInfo | List of class enrollments. This attribute is only populated in the response of the createClasses, getClasses, and updateClasses operations.
id | idInfo | Identifier object that uniquely identifies a class.
institutionId | idInfo | Identifier object that uniquely identifies a school. This attribute is mandatory for createClasses operation.
name | string | Class name. This attribute is mandatory for createClasses operation.
offeringId | idInfo | Identifier object that uniquely identifies an offering. This attribute is mandatory for createClasses operation.
startDate | dateTime | Effective start date of class. This attribute is mandatory for createClasses operation.

## A.10 ContactActionInfo

ContactActionInfo captures the action to perform on a phone contact or email contact and the contact details relevant to the action.

Table A-13 list the attributes of contactActionInfo object.

Table A-13 ContactActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on the address. Example: A Create Action indicates that a new address would be created. This attribute is mandatory.
contact | contactInfo | Email or phone contact details. This attribute is mandatory.

Table A-14 lists the action type.

Table A-14 action

Name | Description
--- | ---
Create | Create the object.
CreateOrUpdate | Create or update the object.
Delete | Delete the object.
Update | Update the object.

## A.11 ContactActionInfoArray

ContactActionInfoArray contains a list of ContactActionInfo objects.

Table A-15 list the attributes of contactActionInfoArray object.

Table A-15 ContactActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | contactActionInfo | The action to perform on a phone or email contact and the contact details relevant to the action.

## A.12 ContactInfo

Email contact details and phone contact details are captured in the contactInfo. A contactInfo represents either an email contact or a phone contact.

A phone contactInfo would have contactType PHONE and have the following attributes:

- areaCode*

- contactDetails

- contactEndDate

- contactPurpose*

- contactStartDate

- contactType*

- countryCode*

- id

- phoneExtension

- phoneNumber*

- phoneType*

- preferredContact*

An email contactInfo would have contactType EMAIL and have the following attributes:

- contactDetails

- contactEndDate

- contactPurpose*

- contactStartDate

- contactType*

- id

- emailAddress*

- emailFormat

- preferredContact*

Note:

* indicates mandatory attributes for create operations.

Table A-16 list the attributes of contactInfo object.

Table A-16 ContactInfo Attributes

Name | Type | Description
--- | --- | ---
areaCode | string | Area code for phone contact. This attribute is mandatory for create operation for phone contact.
contactDetails | string | Additional details for the contact.
contactEndDate | dateTime | Effective end date of the contact.
contactPurpose | string | Purpose of the contact. This attribute is mandatory for create operation.
contactStartDate | dateTime | Effective start date of the contact. This attribute is mandatory for create operation.
contactType | contactType | ContactType – PHONE or EMAIL. This attribute is mandatory for create operation.
countryCode | string | Country code for phone contact. This attribute is mandatory for create operation for phone contact.
emailAddress | string | Email address for email contact. This attribute is mandatory for create operation for email contact.
emailFormat | string | Email format for email contact. Example: plain text or HTML formatted text
id | idInfo | Identifier object that uniquely identifies the phone or email contact.
phoneExtension | string | Phone extension for phone contact.
phoneNumber | string | Phone number for phone contact. This attribute is mandatory for create operation for phone contact.
phoneType | string | Phone type for phone contact. This attribute is mandatory for create operation for phone contact.
preferredContact | yesNoType | Indicates whether the contact is the preferred point of contact. This attribute is mandatory for create operation.

Table A-17 lists the contactType type.

Table A-17 contactType

Name | Description
--- | ---
EMAIL | Email
PHONE | Phone

Table A-18 lists the yesNoType type.

Table A-18 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.13 ContextActionInfo

ContextActionInfo captures the action to perform on a context and the context details relevant to the action.

Table A-19 list the attributes of contextActionInfo object.

Table A-19 ContextActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a context. Example: A Create Action indicates that a context would be created. This attribute is mandatory.
context | contextInfo | Context details. This attribute is mandatory.

Table A-20 lists the action type.

Table A-20 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.14 ContextActionInfoArray

ContextActionInfoArray contains a list of contextActionInfo objects.

Table A-21 list the attributes of contextActionInfoArray object.

Table A-21 ContextActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | contextActionInfo | The action to perform on a context and the context details relevant to the action.

## A.15 ContextAdoptionInfo

During a framework adoption, schools have a choice of adopting one or more contexts within the context. If a child context is adopted, the parent context is also automatically adopted. The details of a context adoption are captured in a contextAdoptionInfo.

Table A-22 list the attributes of contextAdoptionInfo object.

Table A-22 contextAdoptionInfo Attributes

Name | Type | Description
--- | --- | ---
contextId | idInfo | Identifier object that uniquely identifies a context. This attribute is mandatory for adoptContexts operation.
frameworkAdoptionId | idInfo | Identifier object that uniquely identifies a framework adoption. This attribute is mandatory for adoptContexts operation.
id | idInfo | Identifier object that uniquely identifies a context adoption.

## A.16 ContextInfo

Under a framework item, there can be one or more contexts. In addition, there can be one or more sub-contexts created under a context. The detail of each context is captured in a contextInfo.

Table A-23 list the attributes of contextInfo object.

Table A-23 ContextInfo Attributes

Name | Type | Description
--- | --- | ---
childrenLists | contextInfo | List of contexts. This attribute is only populated in the response of the createContexts, getContexts, and updateContexts operations.
childrenActions | contextActionInfoArray | A list of actions to perform on the context. This is used in the createContexts, updateContexts operations when creating, updating, or deleting the contexts.
code | string | Code of the context.
description | string | Description of the context.
endDate | dateTime | Effective end date of the context.
frameworkItemId | idInfo | Identifier object that uniquely identifies a framework item. This attribute is mandatory for createContexts operation.
id | idInfo | Identifier object that uniquely identifies a context.
name | string | Context name. This attribute is mandatory for createContexts operation.
parentId | idInfo | Identifier object that uniquely identifies a parent context. This attribute is only set in the response of createContexts, getContexts, and updateContexts operations.
startDate | dateTime | Effective start date of the context. This attribute is mandatory for createContexts operation.

## A.17 CourseInfo

A course is specific to a school and can be tagged to facilitate searching. The details of a course are captured in the courseInfo.

Table A-24 list the attributes of courseInfo object.

Table A-24 CourseInfo Attributes

Name | Type | Description
--- | --- | ---
code | string | Course code. This attribute is mandatory for createCourses operation.
description | string | Course description.
endDate | dateTime | Effective end date of the course.
id | idInfo | Identifier object to uniquely identify the course.
institutionId | idInfo | Identifier object that uniquely identifies the school in which the course is taught. This attribute is mandatory for createCourses operation.
name | string | Course name. This attribute is mandatory for createCourses operation.
startDate | dateTime | Effective start date of the course. This attribute is mandatory for createCourses operation.
tagActions | idActionInfoArray | A list of actions to perform on the course's tags. This is used in the createCourses and updateCourses operations when creating, updating, or deleting the course's tags.
tagsLists | idInfo | List of tags of a course. This attribute is only populated in the response of the createCourses, getCourses, and updateCourses operations.

## A.18 EnrollmentActionInfo

EnrollmentActionInfo captures the actions to be performed on the class enrollment and the enrollment details relevant to the action.

Table A-25 list the attributes of enrollmentActionInfo object.

Table A-25 EnrollmentActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a class enrollment. Example: A Create Action indicates that a class enrollment would be created. This attribute is mandatory.
enrollment | enrollmentInfo | Class enrollment details. This attribute is mandatory.

Table A-26 lists the action type.

Table A-26 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.19 EnrollmentActionInfoArray

EnrollmentActionInfoArray contains a list of enrollmentActionInfo objects.

Table A-27 list the attributes of enrollmentActionInfoArray object.

Table A-27 EnrollmentActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | enrollmentActionInfo | The action to perform on a class enrollment and the class enrollment details relevant to the action.

## A.20 EnrollmentInfo

Both students and teachers can be enrolled in a class. Each student/teacher enrollment in a class is captured in an EnrollmentInfo. After a learning item has been created in the class lesson plan, students and teachers in the class cannot be un-enrolled from the class. Instead, their enrollment can only be end-dated. An end-dated enrollment would indicate the end of a student/teacher's participation in the class.Do note the start and end date of a class enrollment should not exceed the start and end date of the class.

Table A-28 list the attributes of enrollmentInfo object.

Table A-28 EnrollmentInfo Attributes

Name | Type | Description
--- | --- | ---
endDate | dateTime | Effective end date of the class enrollment.
id | idInfo | Identifier object that uniquely identifies the class enrollment.
personId | idInfo | Identifier object that uniquely identifies the person enrolled in the class. This attribute is mandatory for create operation.
startDate | dateTime | Effective start date of the class enrollment. This attribute is mandatory for create operation.
type | enrollmentType | The type of class enrollment. Example: `TEACHER_OF_CLASS` or `STUDENT_OF_CLASS`. This attribute is mandatory for create operation.

Table A-29 lists the enrollmentType type.

Table A-29 enrollmentType

Name | Description
--- | ---
STUDENT_OF_CLASS | Student enrollment to a class
TEACHER_OF_CLASS | Teacher enrollment to a class

## A.21 FrameworkAdoptionInfo

After the framework is published, schools have to adopt the framework before they can use it. The framework adoption details are captured in the frameworkAdoptionInfo.

Table A-30 list the attributes of frameworkAdoptionInfo object.

Table A-30 FrameworkAdoptionInfo Attributes

Name | Type | Description
--- | --- | ---
calendarId | idInfo | Identifier object that uniquely identifies a school academic calendar. This attribute is mandatory for adoptFrameworks operation.
frameworkId | idInfo | Identifier object that uniquely identifies a framework.
id | idInfo | Identifier object that uniquely identifies a framework adoption. This attribute is mandatory for adoptFrameworks operation.
institutionId | idInfo | Identifier object that uniquely identifies a school. This attribute is mandatory for adoptFrameworks operation.
primary | yesNoType | Indicates whether the adopted framework is the primary framework. This attribute is mandatory for adoptFrameworks operation.

Table A-31 lists the enrollmentType type.

Table A-31 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.22 FrameworkInfo

The framework forms the basis on which the students' learning progress is assessed against. A framework has to be created before the blueprint node hierarchy, framework item hierarchy, and outcome proficiency sets can be created.

After a framework is created, it has to be made available to schools and institution groups before it can be adopted.The basic details of the framework are captured in a frameworkInfo.

Table A-32 list the attributes of frameworkInfo object.

Table A-32 FrameworkInfo Attributes

Name | Type | Description
--- | --- | ---
endDate | dateTime | Effective end date of the framework.
groupAvailableToActions | idActionInfoArray | A list of actions to perform on the institution group. This is used in the createFrameworks, updateFrameworks operations when creating, updating, or deleting the frameworks.
groupsAvailableToLists | idInfo | List of institution groups. This attribute is only populated in the response of the createFrameworks, getFrameworks, and updateFrameworks operations.
id | idInfo | Identifier object that uniquely identifies a framework.
institutionAvailableToLists | idInfo | List of institutions. This attribute is only populated in the response of the createFrameworks, getFrameworks, and updateFrameworks operations.
institutionAvailableToActions | idActionInfoArray | A list of actions to perform on the institution. This is used in the createFrameworks, updateFrameworks operations when creating, updating, or deleting the frameworks.
name | string | Framework name. This attribute is mandatory for createFrameworks operation.
publishedDate | dateTime | Date on which the date is published. This attribute is only set in the response of getFrameworks operation.
startDate | dateTime | Effective start date of the framework. This attribute is mandatory for createFrameworks operation.

## A.23 FrameworkItemActionInfo

FrameworkItemActionInfo captures the action to perform on child framework items and the details of framework items relevant to the action.

Table A-33 list the attributes of frameworkItemActionInfo object.

Table A-33 FrameworkItemActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a framework item. Example: A Create Action indicates that a framework item would be created. This attribute is mandatory.
frameworkItem | frameworkItemInfo | Framework item details. This attribute is mandatory.

Table A-34 lists the action type.

Table A-34 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.24 FrameworkItemActionInfoArray

FrameworkItemActionInfoArray contains a list of frameworkItemActionInfo objects.

Table A-35 list the attributes of frameworkItemActionInfoArray object.

Table A-35 FrameworkItemActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | frameworkItemActionInfo | The action to perform on a framework item and the framework item details relevant to the action.

## A.25 FrameworkItemInfo

Framework items are organized in a hierarchical structure. Each framework item can have one or more framework items under it. The details of each framework item are captured in a frameworkItemInfo.

Table A-36 list the attributes of frameworkItemInfo object.

Table A-36 FrameworkItemInfo Attributes

Name | Type | Description
--- | --- | ---
blueprintNodeId | idInfo | Identifier object that uniquely identifies a blueprint node. This attribute is mandatory for createFrameworkItems operation.
childrenLists | frameworkItemInfo | List of child framework items. This attribute is only populated in the response of the createFrameworkItems, getFrameworkItems, and updateFrameworkItems operations.
childrenActions | frameworkItemActionInfoArray | A list of actions to perform in the child framework items. This is used in the createFrameworkItems, updateFrameworkItems operations when creating, updating, or deleting the framework items.
code | string | Code of the framework item. This attribute is mandatory for createFrameworkItems operation.
confirmingLevel | yesNoType | Indicates whether the confirmations can be made against the framework item. This attribute is mandatory for createFrameworkItems operation.
description | string | Framework item description.
endDate | dateTime | Effective end date of the framework item.
frameworkId | idInfo | Identifier object that uniquely identifies a framework. This attribute is mandatory for createFrameworkItems operation.
id | idInfo | Identifier object that uniquely identifies the framework item.
name | string | Framework item name.This attribute is mandatory for createFrameworkItems operation.
parentId | idInfo | Identifier object that uniquely identifies the parent framework item. This attribute is only populated in the response of the createFrameworkItems, getFrameworkItems, and updateFrameworkItems operations.
proficiencySetId | idInfo | Identifier object that uniquely identifies the proficiency set.
shortName | string | Short name for the framework item.
startDate | dateTime | Effective start date of the framework item. This attribute is mandatory for createFrameworkItems operation.

Table A-37 lists the yesNoType type.

Table A-37 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.26 FrameworkLoadInfo

Users can use FrameworkLoadInfo to create a complete framework with all the outcome proficiency sets, framework item hierarchy, blueprint node hierarchy, outcome statements created with the framework in one operation.

Table A-38 list the attributes of frameworkLoadInfo object.

Table A-38 FrameworkLoadInfoAttributes

Name | Type | Description
--- | --- | ---
blueprint | blueprintNodeInfo | Root blueprint node of the blueprint node hierarchy.
contextsLists | contextInfo | List of contexts.
framework | frameworkInfo | Framework basic details.
frameworkItemsLists | frameworkItemInfo | List of framework item hierarchies.
outcomeStatementDescTypesLists | outcomeStatementDescTypeInfo | List of outcome statement descriptor types.
outcomeStatementsLists | outcomeStatementInfo | List of outcome statements.
proficiencySetsLists | proficiencySetInfo | List of outcome proficiency sets.
publishFramework | yesNoType | Indicates whether to publish the framework after the framework is created.

Table A-39 lists the yesNoType type.

Table A-39 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.27 IdActionInfo

IdActionInfo captures the action to perform given the id of an entity. Typical scenarios involve adding an entity as part of a larger entity. For example, adding institutions to an institution group.

Table A-40 list the attributes of idActionInfo object.

Table A-40 IdActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform given the id of an entity. Example: A Create Action indicates that the entity would be added as part of a larger entity. This attribute is mandatory.
id | idInfo | Identifier object that uniquely identifies the entity. This attribute is mandatory.

Table A-41 lists the action type.

Table A-41 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.28 IdInfo

Identifier object used to uniquely identify an entity such as an institution. An entity can be identified by either its OSL id or a pair of external system id and external id. The OSL id is generated by the OSL application.The external id uniquely identifies the entity in another system that is external to OSL, while the external system id uniquely identifies this external system. If used, both the external id and external system id must be provided.

Table A-42 list the attributes of idInfo object.

Table A-42 IdInfo Attributes

Name | Type | Description
--- | --- | ---
externalId | string | Id that is used to identify an entity in an external system. If present, must be used with the externalSystemId.
externalSystemId | string | Id that is used to identify an external system. If present, must be used with the externalId.
oslId | string | Number that is generated by OSL to uniquely identify an entity.

## A.29 InstitutionGroupInfo

Institutions can be grouped into institution groups and are not constrained by their position in the institution hierarchy.

Table A-43 list the attributes of institutionGroupInfo object.

Table A-43 InstitutionGroupInfo Attributes

Name | Type | Description
--- | --- | ---
description | string | Description of the institution group.
endDate | dateTime | Effective end date of the institution group.
id | idInfo | Identifier object that uniquely identifies the institution group.
institutionActions | idActionInfoArray | A list of actions to perform on the institutions in the institution group. This is used in the createInstitutionGroups and updateInstitutionGroups operations when adding or removing the institution from the institution group.
institutionsLists | idInfo | List of institutions in the institution group. This is only populated in the response of the createInstitutionGroups, getInstitutionGroups, and updateInstitutionGroups operations.
name | string | Institution group name. This attribute is mandatory for createInstitutionGroups operation.
startDate | dateTime | Effective start date of the institution group. This attribute is mandatory for createInstitutionGroups operation.

## A.30 InstitutionInfo

The department, schools, and other organizational entities such as regional or district level education entities are represented as institutions in OSL. All institutions are organized in a hierarchy with the department as the root of the institution hierarchy. The attributes of an institution is captured in the InstitutionInfo object.

Table A-44 list the attributes of institutionInfo object.

Table A-44 institutionInfo Attributes

Name | Type | Description
--- | --- | ---
Sort Name | string | The sort order of party names when displayed in a list.
addressActions | addressActionInfoArray | A list of actions to perform on the institution's addresses. This is used in the createInstitutions and updateInstitutions operations when creating, updating, or deleting the institution's addresses.
addressesLists | addressInfo | List of addresses of the institution. This attribute is only populated in the response of the createInstitutions, getInstitutions, and updateInstitutions operations.
emailContactActions | contactActionInfoArray | A list of actions to perform on the institution's email addresses. This is used in the createInstitutions and updateInstitutions operations when creating, updating, or deleting the institution's email addresses.
emailContactsLists | contactInfo | List of email addresses of the institution. This attribute is only populated in the response of the createInstitutions, getInstitutions, and updateInstitutions operations.
id | idInfo | Identifier object that uniquely identifies an institution. This attribute is mandatory for updateInstitutions and getInstitutions operations.
institutionType | string | The type of the institution. Example: Department, Primary School, Non-School school. Refer to the list of value `OSL_Institution_Type` for a list of valid values. This attribute is mandatory for createInstitutions operation.
name | string | The name of the institution. This attribute is mandatory for createInstitutions operation.
parentInstitutionId | idInfo | Identifier object that uniquely identifies the parent institution. This attribute is mandatory for createInstitutions operation. This attribute cannot be updated.
phoneContactActions | contactActionInfoArray | A list of actions to perform on the institution's phone numbers. This is used in the createInstitutions and updateInstitutions operations when creating, updating, or deleting the institution's phone numbers.
phoneContactsLists | contactInfo | List of phone numbers of the institution. This attribute is only populated in the response of the createInstitutions, getInstitutions, and updateInstitutions operations.

## A.31 LanguageActionInfo

LanguageActionInfo captures the action to perform on the language known by a person.

Table A-45 list the attributes of languageActionInfo object.

Table A-45 LanguageActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on the known language. Example: A Create Action indicates that a new known language would be created. This attribute is mandatory.
language | languageInfo | Language details. This attribute is mandatory.

Table A-46 lists the action type.

Table A-46 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.32 LanguageActionInfoArray

LanguageActionInfoArray contains a list of LanguageActionInfo objects.

Table A-47 list the attributes of languageActionInfoArray object.

Table A-47 LanguageActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | languageActionInfo | The action to perform on a known language and the language details relevant to the action.

## A.33 LanguageInfo

A person may be proficient in multiple languages. His/her proficiency in each of the language is captured in the LanguageInfo.

Table A-48 list the attributes of languageInfo object.

Table A-48 LanguageInfo Attributes

Name | Type | Description
--- | --- | ---
comprehensionLevel | string | Level of proficiency in the language.
id | idInfo | Identifier object that uniquely identifies the known language.This attribute is mandatory for createPersons operation.
languageCode | string | Code representing the language. Example: GB represents British English, US represents American English. This attribute is mandatory for createPersons operation.
nativeLanguage | yesNoType | Indicates whether the language is the native language of a person. This attribute is mandatory for createPersons operation.
primaryLanguage | yesNoType | Indicates whether the language is the person's primary language for communications. This attribute is mandatory for createPersons operation.

Table A-49 lists the yesNoType type.

Table A-49 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.34 LookupValueActionInfo

LookupValueActionInfo captures the action to perform on a value and the details of the value relevant to the action.

Table A-50 list the attributes of lookupValueActionInfo object.

Table A-50 LookupValueActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a value. Example: A Create Action indicates that the value would be added to the list of values. This attribute is mandatory.
lookupValue | lookupValueInfo | Value details. This attribute is mandatory.

Table A-51 lists the action type.

Table A-51 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.35 LookupValueActionInfoArray

LookupValueActionInfoArray contains a list of lookupValueActionInfo objects.

Table A-52 list the attributes of lookupValueActionInfoArray object.

Table A-52 LookupValueActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | lookupValueActionInfo | The action to perform on a value and the value details relevant to the action.

## A.36 LookupValueInfo

The details of the values contained in a list of values are captured in a lookupValueInfo.

Table A-53 list the attributes of lookupValueInfo object..

Table A-53 LookupValueInfo Attributes

Name | Type | Description
--- | --- | ---
customizationLevel | customizationLevel | Level of customization that is allowed on the value.
description | string | Description of the value.
endDate | dateTime | Effective end date of the value.
id | idInfo | Identifier object that uniquely identifies a value.
lookupCode | string | Code representation of the value.
meaning | string | The meaning of the value.
startDate | dateTime | Effective start date of the value.

Table A-54 lists the customizationLevel type.

Table A-54 customizationLevel

Name | Description
--- | ---
APPL | Can be updated by Application
INSTN | Can be updated by Institution

## A.37 LookupTypeInfo

The list of values used within OSL is captured using a lookupTypeInfo.

Table A-55 list the attributes of lookupTypeInfo object.

Table A-55 LookupTypeInfo Attributes

Name | Type | Description
--- | --- | ---
customizationLevel | customizationLevel | Level of customization that is allowed on the list of values.
dataType | string | The data type allowed in the list of values.
description | string | A description of the list of values.
endDate | dateTime | Effective end date of the list of values.
id | idInfo | Identifier object that uniquely identifies a list of values.
lookupType | lookupType | Code representation of the list of values in OSL.
maxDataLength | string | The maximum length of the values that can allow in the list of values.
meaning | string | The meaning of the list of values.
startDate | dateTime | Effective start date of the list of values.
valuesList | lookupValueInfo | List of the actual values contained in the list of values. This attribute is only populated in the response of the updateValueTypes and getValueTypes operations.
valuesActions | lookupValueActionInfoArray | A list of actions to perform on the values contained in the list of values. This is used in the updateValueTypes operation when updating the list of values.

Table A-56 lists the customizationLevel type.

Table A-56 customizationLevel

Name | Description
--- | ---
APPL | Can be updated by Application
INSTN | Can be updated by Institution

Table A-57 lists the lookupType type.

Table A-57 lookupType

Name | Description
--- | ---
OSL_ADDRESS_USAGE_TYPE | Usage purpose of address
OSL_APPROVAL_STATUS | Approval status of student to join the class
OSL_ASSESSED_OUTCOME_TYPE | Type of assessed outcome
OSL_ASSESSMENT_TYPE | Type of assessment
OSL_COLLECTION_CATEGORY | Type of student collection
OSL_COLLECTION_GROUP_RELATION | Relationship between collections
OSL_COLLECTION_RELATIONSHIP | Enrollment Type in a collection
OSL_CONTACT_POINT_PURPOSE | Purpose of the contact point
OSL_CONTACT_POINT_TYPE | Type of contact point
OSL_CONTENT_RESOURCE_TYPE | Type of the content resource
OSL_CUSTOMISATION_LEVEL | Level of customization of the lookup
OSL_DISCUSSION_TYPE | Type of discussion
OSL_EMAIL_FORMAT | Format of email
OSL_EVENT_ACTION | Action Type captured in the event
OSL_EVENT_OBJECT_TYPE | Object captured in the event
OSL_EXTENSION_REASON | Reason for learning item extension
OSL_GENDER | Gender
OSL_INSTITUTION_TYPE | Type of institution
OSL_LANGUAGE | Language
OSL_LEARNING_ITEM_TYPE | Type of Learning Item
OSL_LOCK_TYPE | Type of lock applied on an object
OSL_NOTE_AUDIENCE | Target audience of an observation
OSL_NOTE_CATEGORY | Category of an observation
OSL_NOTE_TYPE | Type of an observation
OSL_OUTCOME_STATEMENT_TYPE | Outcome Statement Type
OSL_PARTY_TYPE | Type of party
OSL_PERSON_TITLE | Person title
OSL_PHONE_TYPE | Phone type
OSL_PROFICIENCY_LEVEL_TYPE | Type of proficiency level
OSL_PROFICIENCY_SET_TYPE | Type of proficiency type
OSL_RELATIONSHIP_TYPE | Party Relationship Type
OSL_SPOKEN_COMPREHENSION_LEVEL | Level of mastery in a language
OSL_WORKSPACE_TYPE | Workspace assigned to student
OSL_YES_NO | Yes or no

## A.38 OfferingInfo

An offering is created when a course is offered by the school for an academic period. The details of the offering are captured in an OfferingInfo.

The start and end date of an offering should not exceed the start and end date of the academic calendar.

Table A-58 list the attributes of offeringInfo object.

Table A-58 OfferingInfo Attributes

Name | Type | Description
--- | --- | ---
calendarId | idInfo | Identifier object that uniquely identifies the academic calendar in which the offering is made.
code | string | Offering code. This attribute is mandatory for createOfferings operation.
courseId | idInfo | Identifier object that uniquely identifies the course. This attribute is mandatory for createOfferings operation.
endDate | dateTime | Effective end date of the offering.
frameworkAdoptionId | idInfo | Identifier object that uniquely identifies the adopted framework. This attribute is mandatory for createOfferings operation.
id | idInfo | Identifier object that uniquely identifies the offering.
institutionId | idInfo | Identifier object that uniquely identifies the school. This attribute is mandatory for createOfferings operation.
name | string | Offering name. This attribute is mandatory for createOfferings operation.
startDate | dateTime | Effective start date of the offering. This attribute is mandatory for createOfferings operation.

## A.39 OutcomeStatementDescActionInfo

OutcomeStatementDescActionInfo captures the action to perform on an outcome statement descriptor and the outcome statement descriptor details relevant to the action.

Table A-59 list the attributes of outcomeStatementDescActionInfo object.

Table A-59 OutcomeStatementDescActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on an outcome statement descriptor. Example: A Create Action indicates that an outcome statement descriptor would be created. This attribute is mandatory.
outcomeStatementDesc | outcomeStatementDescInfo | Outcome statement descriptor details. This attribute is mandatory.

Table A-60 lists the action type.

Table A-60 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.40 OutcomeStatementDescActionInfoArray

OutcomeStatementDescActionInfoArray contains a list of outcomeStatementDescActionInfo objects.

Table A-61 list the attributes of outcomeStatementDescActionInfoArray object.

Table A-61 OutcomeStatementDescActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | outcomeStatementDescActionInfo | The action to perform on an outcome statement descriptor and the outcome statement descriptor details relevant to the action.

## A.41 OutcomeStatementDescInfo

Outcome statement descriptor provides additional information on the outcome statements. The outcome statement descriptor details are captured in an outcomeStatementDescInfo.

Table A-62 list the attributes of outcomeStatementDescInfo object.

Table A-62 OutcomeStatementDescInfo Attributes

Name | Type | Description
--- | --- | ---
descTypeId | idInfo | Identifier object that uniquely identifies the outcome statement descriptor type. This attribute is mandatory for createOutcomeStatementDescs operation.
description | string | Description of the outcome statement descriptor.
endDate | dateTime | Effective end date of the outcome statement descriptor.
id | idInfo | Identifier object that uniquely identifies the outcome statement descriptor.
name | string | Outcome statement descriptor name. This attribute is mandatory for createOutcomeStatementDescs operation.
startDate | dateTime | Effective start date of the outcome statement descriptor. This attribute is mandatory for createOutcomeStatementDescs operation.

## A.42 OutcomeStatementDescTypeInfo

A framework can have multiple types of outcome statement descriptors. The detail of an outcome statement descriptor type is captured in an outcomeStatementDescTypeInfo.

Table A-63 list the attributes of outcomeStatementDescTypeInfo object.

Table A-63 OutcomeStatementDescTypeInfo Attributes

Name | Type | Description
--- | --- | ---
frameworkId | idInfo | Identifier object that uniquely identifies a framework. This attribute is mandatory for createOutcomeStatementDescTypes operation.
id | idInfo | Identifier object that uniquely identifies an outcome statement descriptor type.
name | string | Name of outcome statement descriptor type. This attribute is mandatory for createOutcomeStatementDescTypes operation.

## A.43 OutcomeStatementInfo

Outcome statement describes the outcomes that can be achieved for a framework item.

There are three types of outcome statements:

1. An outcome statement with outcome statement type DEMONSTRABLE requires a proficiency level.

2. An outcome statement with outcome statement type ANNOTATIVE can have a proficiency level.

3. An outcome statement with outcome statement type INDICATIVE does not have a proficiency level.

The outcome statement details are captured in outcomeStatementInfo.

Table A-64 list the attributes of outcomeStatementInfo object.

Table A-64 OutcomeStatementInfo Attributes

Name | Type | Description
--- | --- | ---
descriptorActions | outcomeStatementDescActionInfoArray | A list of actions to perform on the outcome statement descriptors. This is used in the createOutcomeStatements, updateOutcomeStatements operations when creating, updating, or deleting the outcome statements.
descriptorsLists | outcomeStatementDescInfo | List of outcome statement descriptors. This attribute is only populated in the response of the createOutcomeStatements, getOutcomeStatements, and updateOutcomeStatements operations.
endDate | dateTime | Effective end date of outcome statement.
frameworkItemId | idInfo | Identifier object that uniquely identifies a framework item. This attribute is mandatory for createOutcomeStatements operation.
id | idInfo | Identifier object that uniquely identifies an outcome statement.
name | string | Outcome statement name.This attribute is mandatory for createOutcomeStatements operation.
proficiencyLevelId | idInfo | Identifier object that uniquely identifies a proficiency level.
startDate | dateTime | Effective start date of outcome statement. This attribute is mandatory for createOutcomeStatements operation.
type | outcomeStatementType | The outcome statement type – ANNOTATIVE, INDICATIVE, DEMONSTRABLE. This attribute is mandatory for createOutcomeStatements operation.

Table A-65 lists the outcomeStatementType type.

Table A-65 outcomeStatementType

Name | Description
--- | ---
ANNOTATIVE | Annotative Outcome Statement
DEMONSTRABLE | Demonstrable Outcome Statement
INDICATIVE | Indicative Outcome Statement

## A.44 PersonInfo

Personal information such as the name, photograph, home addresses, emails, phone numbers, and the roles played by the person are captured as part of the PersonInfo.

Table A-66 list the attributes of personInfo object.

Table A-66 PersonInfo Attributes

Name | Type | Description
--- | --- | ---
Display Name | string | The user name is specified by the Display Name attribute to distinguish between persons and institutions in the osl_parties table. This attribute is mandatory for createPersons and updatePersons operations. Missing this attribute will throw the exception `<Error> <oracle.osl.lt.service> <BEA-000000> <Throwing exception: oracle.osl.lt.service.ServiceException; Error code: 51; Message: Validation error, value is null, Party name>`.
Sort Name | string | The sort order of party names when displayed in a list.
academicYearLevel | string | The current academic level of a student.
addressActions | addressActionInfoArray | A list of actions to perform on the person's addresses. This is used in the createPersons and updatePersons operations when creating, updating, or deleting the person's addresses.
addressesLists | addressInfo | List of addresses of the person. This attribute is only populated in the response of the createPersons, getPersons, and updatePersons operations.
birthDate | dateTime | Date of birth.
countryOfBirth | string | Country of birth.
deathDate | dateTime | Death date.
emailContactActions | contactActionInfoArray | A list of actions to perform on the person's email addresses. This is used in the createPersons and updatePersons operations when creating, updating, or deleting the person's email addresses.
emailContactsLists | contactInfo | List of email addresses of the person. This attribute is only populated in the response of the createPersons, getPersons, and updatePersons operations.
firstName | string | Given name.
gender | gender | Gender.
id | idInfo | Identifier object that uniquely identifies the person.
languageActions | languageActionInfoArray | A list of actions to perform on the person's known languages. This is used in the createPersons and updatePersons operations when creating, updating, or deleting the person's known languages.
languagesLists | languageInfo | List of languages a person knows. This attribute is only populated in the response of the createPersons, getPersons, and updatePersons operations.
lastName | string | Family name.
loginId | string | Login id.
maritalStatus | string | Marital status.
middleName | string | Middle name.
nameSuffix | string | Name suffix. Example: Jr
phoneContactActions | contactActionInfoArray | A list of actions to perform on the person's phone numbers. This is used in the createPersons and updatePersons operations when creating, updating, or deleting the person's phone numbers.
phoneContactsLists | contactInfo | List of phone numbers of the person. This attribute is only populated in the response of the createPersons, getPersons, and updatePersons operations.
photograph | base64Binary | Photograph of the person.
placeOfBirth | string | Place of birth.
preferredName | string | Preferred name to address a person.
relationshipActions | relationshipActionInfoArray | A list of actions to perform in the person's relationships. This is used in the createPersons and updatePersons operations when creating, updating, or deleting the person's relationships.
relationshipsLists | relationshipInfo | List of relationships of a person. This attribute is only populated in the response of the createPersons, getPersons, and updatePersons operations.
title | string | Title.

Table A-67 lists the gender type.

Table A-67 gender

Name | Description
--- | ---
MALE | Male
FEMALE | Female
UNKNOWN | Unknown

## A.45 ProficiencyLevelActionInfo

ProficiencyLevelActionInfo captures the action to perform on proficiency levels and the proficiency level details relevant to the action.

Table A-68 list the attributes of proficiencyLevelActionInfo object.

Table A-68 ProficiencyLevelActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a proficiency level. Example: A Create Action indicates that a proficiency level would be created. This attribute is mandatory.
proficiencyLevel | proficiencyLevelInfo | Proficiency Level details. This attribute is mandatory.

Table A-69 lists the action type.

Table A-69 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.46 ProficiencyLevelActionInfoArray

ProficiencyLevelActionInfoArray contains a list of proficiencyLevelActionInfo objects.

Table A-70 list the attributes of proficiencyLevelActionInfoArray object.

Table A-70 ProficiencyLevelActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | proficiencyLevelActionInfo | The action to perform on a proficiency level and the proficiency level details relevant to the action.

## A.47 ProficiencyLevelInfo

Both outcome proficiency sets and graded proficiency sets can have proficiency levels.

In an outcome proficiency set, proficiency sub-levels can then be created under a proficiency level. Furthermore, the depth of the outcome proficiency levels can have maximumly two levels.

In a graded proficiency set, proficiency sub-levels cannot be created under a proficiency level. A graded proficiency levels cannot have sub-levels. Every graded proficiency level contains a range of values collectively. These ranges should not overlap and should cover the full range of values from 0 to 100.The details of the outcome proficiency level, outcome proficiency sub-levels, or graded proficiency levels are captured in the proficiencyLevelInfo.

An outcome proficiency level has the following attributes:

- childrenLists

- childrenActions

- description

- id

- name*

- orderSequence*

- parentId

- type*

A graded proficiency level has the following attributes:

- childrenLists

- childrenActions

- code*

- description

- id

- lowerRange*

- lowerRangeInclusive*

- name*

- upperRange*

- upperRangeInclusive*

Note:

* indicates mandatory attributes for create operations.

Table A-71 list the attributes of proficiencyLevelInfo object.

Table A-71 ProficiencyLevelInfo Attributes

Name | Type | Description
--- | --- | ---
absoluteValue | string | Numeric value representation of the graded proficiency level. This attribute is mandatory for create operation for graded proficiency levels.
childrenLists | proficiencyLevelInfo | List of proficiency sub-levels. This attribute is only populated in the response of the createProficiencySets, getProficiencySets, and updateProficiencySets operations.
childrenActions | proficiencyLevelActionInfoArray | A list of actions to perform on the proficiency sub-levels. This is used in the createProficiencySets, updateProficiencySets operations when creating, updating, or deleting the proficiency sets.
code | string | Code of the proficiency level. This attribute is mandatory for create operation for outcome proficiency levels.
description | string | Description of the proficiency level.
id | idInfo | Identifier object that uniquely identifies the proficiency level.
lowerRange | string | Numeric value of the lower limit of the graded proficiency level. This attribute is mandatory for create operation for graded proficiency levels.
lowerRangeInclusive | yesNoType | Indicates whether the lower limit of a graded proficiency level should be included in the range. This attribute is mandatory for create operation for graded proficiency levels.
name | string | Name of the proficiency level. This attribute is mandatory for create operation.
orderSequence | string | Order of display of the outcome proficiency levels. This attribute is mandatory for create operation for outcome proficiency levels.
parentId | idInfo | Identifier object that uniquely identifies the parent outcome proficiency level. This attribute is only set in the response of createProficiencySets, getProficiencySets, and updateProficiencySets operations.
type | string | Proficiency level type – CORE or FOUNDATION. This attribute is mandatory for create operation for outcome proficiency levels.
upperRange | string | Numeric value of the upper limit of the graded proficiency level. This attribute is mandatory for create operation for graded proficiency levels.
upperRangeInclusive | yesNoType | Indicates whether the upper limit of a graded proficiency level should be included in the range. This attribute is mandatory for create operation for graded proficiency levels.

Table A-72 lists the yesNoType type.

Table A-72 yesNoType

Name | Description
--- | ---
Yes | Yes
No | No

## A.48 ProficiencySetInfo

Both the details of an outcome proficiency set and graded proficiency set are captured using a proficiencySetInfo.An outcome proficiency set would have type OUTCOME and the following attributes are:

- description

- endDate

- frameworkId*

- id

- levelsLists

- levelsActions

- name*

- startDate*

- type*

A graded proficiency set would have type GRADED and the following attributes are:

- description

- endDate

- id

- institutionId*

- levelsLists

- levelsActions

- name*

- startDate*

Note:

* indicates mandatory attributes for create operations.

Table A-73 list the attributes of proficiencySetInfo object.

Table A-73 ProficiencySetInfo Attributes

Name | Type | Description
--- | --- | ---
description | string | Proficiency set description.
endDate | dateTime | Effective end date of proficiency set.
frameworkId | idInfo | Identifier object that uniquely identifies the framework. This attribute is mandatory for createProficiencySets operation.
id | idInfo | Identifier object that uniquely identifies the proficiency set.
institutionId | idInfo | Identifier object that uniquely identifies the department or school. This attribute is mandatory for createGradedProficiencySets operation.
levelsLists | proficiencyLevelInfo | List of proficiency levels. This attribute is only populated in the response of the createProficiencySets, getProficiencySets, updateProficiencySets, createGradedProficiencySets, getGradedProficiencySets, and updateGradedProficiencySets operations.
levelsActions | proficiencyLevelActionInfoArray | A list of actions to perform on the proficiency levels. This is used in the createProficiencySets, updateProficiencySets, createGradedProficiencySets, and updateGradedProficiencySets operations when creating, updating, or deleting the proficiency sets.
name | string | Proficiency set name. This attribute is mandatory for createProficiencySets and createGradedProficiencySets operations.
startDate | dateTime | Effective start date of outcome proficiency set. This attribute is mandatory for createProficiencySets and createGradedProficiencySets operations.
type | proficiencySetType | Proficiency set type. This should be set to OUTCOME or GRADED for outcome proficiency sets and graded proficiency sets, respectively. This attribute is mandatory for createProficiencySets and createGradedProficiencySets operations.

Table A-74 lists the proficiencySetType type.

Table A-74 proficiencySetType

Name | Description
--- | ---
GRADED | Graded Proficiency Set
OUTCOME | Outcome Proficiency Set

## A.49 RelationshipActionInfo

RelationshipActionInfoArray contains a list of relationshipActionInfo objects.

Table A-75 list the attributes of relationshipActionInfoArray object.

Table A-75 RelationshipActionInfo Attributes

Name | Type | Description
--- | --- | ---
action | action | Indicates the action to perform on a person relationship. Example: A Create Action indicates that a new person relationship would be created. This attribute is mandatory.
relationship | relationshipInfo | Person relationship details. This attribute is mandatory.

Table A-76 lists the action type.

Table A-76 action

Name | Description
--- | ---
Create | Create the object
CreateOrUpdate | Create or update the object
Delete | Delete the object
Update | Update the object

## A.50 RelationshipActionInfoArray

RelationshipActionInfoArray contains a list of relationshipActionInfo objects.

Table A-77 list the attributes of relationshipActionInfoArray object.

Table A-77 RelationshipActionInfoArray Attributes

Name | Type | Description
--- | --- | ---
item | relationshipActionInfo | The action to perform on a person relationship and the relationship details relevant to the action.

## A.51 RelationshipInfo

A person may have multiple relationships with multiple parties. For example, a person can be a teacher in a school and also be the parent of another person. Each of these relationships is captured by a relationshipInfo. The role of a person within a relationship is indicated by the relationshipType. The id of the institution or person that the current person is in a relationship with is stored in the targetPartyId.

Hence, person A is a parent of person B would be represented as such:

RelationshipType: PARENT_OF

TargetPartyId: Id of person B

Table A-78 list the attributes of relationshipInfo object.

Table A-78 RelationshipInfo Attributes

Name | Type | Description
--- | --- | ---
endDate | dateTime | Effective end date of the person relationship.
id | idInfo | Identifier object that uniquely identifies a person relationship.
relationshipType | relationshipType | Denotes a person's role in the relationship. This attribute is mandatory for create operation.
startDate | dateTime | Effective start date of the person relationship. This attribute is mandatory for create operation.
targetPartyId | idInfo | Identifier object that uniquely identifies the institution or person that the current person is in a relationship with. This attribute is mandatory for create operation.

Table A-79 lists the relationshipType type.

Table A-79 relationshipType

Name | Description
--- | ---
DEPARTMENT_ADMIN_OF | Department Administrator
DEPARTMENT_CURRICULUM_ADMIN_OF | Department Curriculum Administrator
GUARDIAN_OF | Guardian
PARENT_OF | Parent
SCHOOL_ADMIN_OF | School Administrator
SCHOOL_CURRICULUM_ADMIN_OF | School Curriculum Administrator
STUDENT_OF | Student
TEACHER_OF | Teacher

## A.52 TagInfo

Each school can create a series of tags. These tags are used to tag courses to facilitate search function within OSL.

Table A-80 list the attributes of tagInfo object.

Table A-80 TagInfo Attributes

Name | Type | Description
--- | --- | ---
id | idInfo | Identifier object that uniquely identifies the tag.
institutionId | idInfo | Identifier object that uniquely identifies the school. This attribute is mandatory for createTags operation.
name | string | Tag name. This attribute is mandatory for createTags operation.