This document is an early draft
There are no required attributes from the perspective of the Core Schema. It is up to a given protocol or implementation to determine what attributes are required, and how such status is conveyed between participants.
Where attributes are multi-valued, it is up to a given protocol or implementation as to whether multiple values are supported, and how such status is conveyed between participants.
Attribute names containing a slash (/
) may be represented "flat" as listed, or "hierarchical" by removing the slash and establishing a suitable representation in the encoding in use. For example, "name/given" could be represented in JSON as
{ "name":{ "given":"value" } }
Multiple values could be represented as
{ "identifiers":[ { "type":"enterprise", "value":"E12345678", }, { "type":"network", "value":"jqs123" } ] }
Attribute Release Policy
Attribute Release Policies are encoded in metadata, as described below. The following policies are defined:
public
: The attribute and value may be used without restriction.internal
: The attribute and value are to be used for official institutional purposes only, and may not be redistributed without permission.private
: The attribute and value may not be used for any purpose without permission.
Attribute Data Types
- binary
- boolean
- country: ISO 3166-1 two letter country code
- date: YYYY-MM-DD format (ISO 8601)
- dateTerm: A datestamp used to indicate intervals such as a semester, trimester, or quarter. The general format is YYYY-L#, where L is one of H (half year), T (third), or Q (quarter), and # is the sequential number. eg: 2015-H2 designates the second semester of the 2015 academic year (and so might physically be in the year 2016).
- dateTime: YYYY-MM-DDTHH:MM:SSZ format (ISO 8601)
- integer
- locale: LL_CC format (ISO 639-1 two letter language code, an underscore, ISO 3166-1 two letter country code)
- region: ISO 3166-2 subdivision code, not including country prefix (eg:
BC
notCA-BC
) - string: Strings are case-preserving but not case-sensitive
- extensibleVocabulary: The Core Schema vocabulary should be supported when described values are relevant, however implementations may add to the vocabulary. How supported values are conveyed between participants is outside of the scope of this document. Extended vocabulary must begin with
x-
.
Case Sensitivity
All attribute names and other elements specified here are case sensitive. eg: official
and OFFICIAL
are not the same.
Metadata
Any complex attribute (Person, Person Role, Address, Identifier, etc) may optionally have the following meta attributes:
meta/created
: Timestamp of record creation, in dateTime formatmeta/id
: Identifier for this specific (sub)attributemeta/lastModified
: Timestamp of last modification, in dateTime formatmeta/release
: Attribute release policy, as described above
Person Core Attributes
Attribute | Data Type | Definition | Multi-Valued? (Parent Attribute) |
---|---|---|---|
|
|
| Yes ( |
| country | Country from a postal address | One per parent object |
| string | Address rendered as a single string, possibly with embedded newlines ( | One per parent object |
| string | Locality information from a postal address (city, etc) | One per parent object |
| locale | The language encoding of the address | One per parent object |
| string | Postal code from a postal address | One per parent object |
| region | Region information from a postal address (state, province, etc) | One per parent object |
| string | Room information from a postal address | One per parent object |
Changing to | string (multi-line) | Street/site information from a postal address (street name, house number, etc) | One per parent object |
| extensibleVocabulary:
| The type of the address | One per parent object |
| boolean | True if the address has been verified | One per parent object |
| country | Country of citizenship of the person | Yes ( |
| date | The date of birth of the person | No |
|
|
| Yes ( |
| string | The email address | One per parent object |
| extensibleVocabulary:
| The type of the email address | One per parent object |
| boolean | True if the address has been verified | One per parent object |
| extensibleVocabulary:
| The ethnicity of the person (US Census) | Yes ( |
| extensibleVocabulary:
| The gender of the person | No |
|
|
| Yes ( |
| string | The identifier | One per parent object |
| extensibleVocabulary:
| The type of the identifier
| One per parent object |
|
|
| Yes ( |
| date | Date of birth, as confirmed on document | One per parent object |
| string | Name of agency issuing the confirmation document | One per parent object |
| extensibleVocabulary:
| Type of document used to confirm identity
| One per parent object |
| string | Full name, as confirmed on document | One per parent object |
| extensibleVocabulary:
| Status of the identity proofing | One per parent object |
| dateTime | Time document was confirmed | One per parent object |
| string | Address, as confirmed on document | One per parent object |
|
|
| Yes ( |
| string | The component of the person's name excluding the given, middle, and honorific components | One per parent object |
| string | The person's name, suitably formatted for display | One per parent object |
| string | The component of the person's name excluding the middle, family, and honorific components | One per parent object |
| locale | The language encoding of the person's name | One per parent object |
| string | The component of the person's name excluding the given, family, and honorific components | One per parent object |
| string | The honorific prefix of the person's name, such as "Dr" or "Ms" | One per parent object |
| string | The honorific suffix of the person's name, such as "Jr" or "III" | One per parent object |
| extensibleVocabulary:
| The type of the name
| One per parent object |
|
|
| Yes ( |
| binary | Encoding of a photo of the person | One per parent object |
| extensibleVocabulary:
| The encoding used for the photo | One per parent object |
| extensibleVocabulary:
| The type of the photo (not the encoding)
| One per parent object |
| string | The primary affiliation for the person, as defined by the institution (values same as for Person Role affiliation attribute, below) | No |
| string | The primary campus location for the person, as defined by the institution | No |
|
| Parent attribute for Role attributes, described below | Yes |
|
|
| Yes ( |
| string | Telephone number for the person, preferably in + notation | One per parent object |
| extensibleVocabulary:
| The type of the telephone number | One per parent object |
| boolean | True if the telephone number has been verified | One per parent object |
| boolean | True if this record represents a test entry | No |
|
|
| Yes ( |
| string | URL for the person | One per parent object |
| extensibleVocabulary:
| The type of the telephone number | One per parent object |
| extensibleVocabulary:
| Visa status of the person | No |
Person Role Core Attributes
Attribute | Data Type | Definition | Multi-Valued? |
---|---|---|---|
|
| As defined for Person Attributes | Yes ( |
| extensibleVocabulary:
| The person's broad relationship to the institution for the role (eduPerson) | One per role |
| string | The campus location this role is attached to, as defined by the institution | Yes ( |
campusCode | string | Machine readable identifier for a campus. This value is unlikely to have meaning outside of a specific institution. | Yes (campusCodes ) |
| string | The name of the department the role is attached to (multiple values are permitted if multiple departments sponsor a single role) | Yes ( |
departmentCode | string | Machine readable identifier for a department. This value is unlikely to have meaning outside of a specific institution. | Yes (departmentCodes ) |
| string | The display title for this role | One per role |
|
| As defined for Person Attributes | Yes ( |
|
| As defined for Person Attributes | Yes ( |
| dateTime | Time at which leave from this role begins; advisory – | One per role |
| dateTime | Time after which leave from this role is no longer in effect; advisory – | One per role |
| string | An identifier (preferably of type This should become a complex attribute (identifier+type) | Yes ( |
| string | The name of the organization/institution the role is attached to (multiple values are permitted if multiple organizations sponsor a single role) | Yes ( |
organizationCode | string | Machine readable identifier for an organization. This value is unlikely to have meaning outside of a specific institution. | Yes (organizationCodes ) |
| integer (0 - 100) | The percentage time for this role (100 = full time) | One per role |
| positive integer | The rank of this role relative to all roles from all SORs (highest rank = 1) | One per role |
| positive integer | The rank of this role relative to_ only_ roles from this SOR (highest rank = 1) | One per role |
| dateTime | Time at which the role officially begins | One per role |
| dateTime | Time after which the role is officially no longer in effect | One per role |
| string | Label for the system of record asserting this role | One per role |
| string | An identifier (preferably of type This should become a complex attribute (identifier+type) | Yes ( |
| extensibleVocabulary:
| Status associated with this role:
| One per role |
|
| As defined for Person Attributes | Yes ( |
| extensibleVocabulary:
| Reason for termination associated with this role | One per role |
| string | The official title for this role | Yes ( |
|
| As defined for Person Attributes | Yes ( |
| dateTime | Time at which services associated with the role should begin | One per role |
| dateTime | Time after which services associated with the role should be terminated | One per role |
HR Person Role Attributes
Attribute | Data Type | Definition | Multi-Valued? |
---|---|---|---|
| extensibleVocabulary:
|
| No |
Student Person Role Attributes
Attribute | Data Type | Definition | Multi-Valued? |
---|---|---|---|
| extensibleVocabulary:
|
| No |
courseAffiliation | extensibleVocabulary:
| Person's affiliation/role with a course. Based on MACE-Dir work. | Yes, per-courseMembership |
| string |
| Yes |
| extensibleVocabulary:
|
| Yes, if a single program generates more than one degree. (Otherwise use separate roles.) |
major | Yes (majors ) | ||
major/major | string | Student's major | No |
major/majorCode | string | Machine readable identifier for the major. This value is unlikely to have meaning outside of a specific institution. | No |
major/type | extensibleVocabulary
| No | |
| string |
| No |
studentType | extensibleVocabulary:
| Secondary = (eg) high school | No |
term | dateTerm | Term for which this record applies | No |
College/School should be expressed in organization
and Major/Program should be expressed in department
. (XXX or should they get dedicated attributes?)
Extended Attributes
The Core Schema may be extended. How extended attributes are conveyed between participants is outside of the scope of this document. Extended attributes must begin with x-
, may be hierarchical, and may be attached to the Person or Person Role.