Skip to main content

LIS 2.0 Person

Blackboard person elements supported by LIS

Learn Users Field

Required For Insert

Unique

LIS Source Field

Added Node Batch Uid

No

No

Person Institutional Hierarchy Associations

Available

No

No

Batch Uid

Yes

Yes

Person Sourced Id

Birthdate

No

No

Person Birthdate

City

No

No

Person City

Company

No

No

Country

No

No

Person Country

Data Source Key

Yes

No

Person Data Source

Department

No

No

Education Level

No

No

Email

No

No

Person Email

First Name

Yes

No

Person First Name

Gender

No

No

Person Gender

Home Fax

No

No

Home Phone

No

No

Person Home Primary Phone Number

Home Phone (Secondary)

No

No

Person Home Secondary Phone Number

Job Title

No

No

Last Name

Yes

No

Person Last Name

Middle Name

No

No

Person Middle Name

Mobile Phone

No

No

Person Mobile Number

Other Name

No

No

Person Particle Name

Password

Yes

No

Person Role Password

Password Encryption Type

No

No

Person Role Password Encryption Type

Primary Institution Role

No

No

Person Primary Institution Role

Pronouns

No

No

Person Pronouns

Replacement Batch Uid

No

Yes

Person Sourced Id

Replacement Data Source Batch Uid

No

No

Row Status

No

No

Secondary Institution Roles

No

No

Person Secondary Institution Roles

State / Province

No

No

Person Address State/Province

Street 1

No

No

Person Address Street 1

Street 2

No

No

Person Address Street 2

Student ID

No

No

Person Role User Id

Suffix

No

No

Person Suffix Name

System Role

No

No

Person System Role

Title

No

No

Person Prefix Name

Username

Yes

Yes

Person Role User Id

Website

No

No

Person Web Address

Work Fax

No

No

Person Work Fax

Work Phone

No

No

Person Work Primary Phone Number

Work Phone (Secondary)

No

No

Person Work Secondary Phone Number

Zip / Postal Code

No

No

Person Zip/Postal Code

LIS person object

Supported Learn Objects are bold in the below descriptions, associated values are bold-italicized.

LIS SOAP Message Element

Comment

Learn Object Relationship

<SOAP-ENV:Body>

<replacePersonRequest xmlns:pms="http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0">

<sourcedId>AA0011</sourcedId>

SOAP-ENV Body element and element defining the request operation

This sourcedId is the source Id for message

None

xmlns:pms= "http://www.imsglobal.org/services/lis/pms2p0/wsdl11/sync/imspms_v2p0">

Begin the person record block

None

<sourcedGUID>

<refAgentInstanceID>SIS</refAgentInstanceID>

<sourcedId>55555</sourcedId>

</sourcedGUID>

The SourcedGUID providing the unique identifier for this person record and the source of the identifier

BATCH UID :: Person SourcedId

<person>

Begin the person data

None

<formname>

<formnameType>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http://www.imsglobal.org/lis/pmsv2p0/formatnmetypevocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>Full</textString>

</instanceValue>

</formnameType>

<formattedName>

<language>en</language>

<textString> Dr. First Middle Last, Jr. </textString>

</formattedName>

</formname>

One component LIS formatting style is the blocking of elements and their attributes between supporting defining elements. In this case the formal name (formname), the Full name is blocked between identifiers which provide the language used for the data - in this case en, the textString - in this case Full, and the textString containing the actual data for the formattedName - in this case Dr. First Middle Last, Jr.

Note the instanceVocabulary provides the IMS vocabulary for the object in question.

None

<name>

<nameType>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary> http://www.imsglobal.org/lis/pmsv2p0...vocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>Full</textString>

</instanceValue>

</nameType>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Nickname</textString>

</instanceIdentifier>

<instanceVocabulary> Nickname not used </instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Nickname</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString> nickname </textString>

</instanceValue>

</partName>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Family</textString>

</instanceIdentifier>

<instanceVocabulary> Family </instanceVocabulary>

<instanceName>

<language>en</language>

<textString> Family </textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>King</textString>

</instanceValue>

</partName>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Given</textString>

</instanceIdentifier>

<instanceVocabulary> Given </instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Given</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Martin</textString>

</instanceValue>

</partName>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Prefix</textString>

</instanceIdentifier>

<instanceVocabulary> Prefix </instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Prefix</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString> Dr. </textString>

</instanceValue>

</partName>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Suffix</textString>

</instanceIdentifier>

<instanceVocabulary> Suffix </instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Suffix</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Jr.</textString>

</instanceValue>

</partName>

<partName>

<instanceIdentifier>

<language>en</language>

<textString>Middle</textString>

</instanceIdentifier>

<instanceVocabulary> Middle </instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Middle</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Luther</textString>

</instanceValue>

</partName>

</name>

An additional LIS style is the support for components of a multipart object such as a name which may be build from prefix, first, middle, last, and suffix parts. This is handled through the addition of "parts". Combined with the instance elements these multipart objects are easily describable and are enclosed in descriptive partName elements.

Learn Title :: Person:Name:Prefix

Learn First Name :: Person:Name:Given

Learn Middle Name :: Person:Name:Middle

Learn Last Name :: Person:Name:Last

Learn Title :: Person:Name:Suffix

Not supported by Learn:

Person:Name:Nickname

<address>

<addressType>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/... </instanceVocabulary>

<instanceValue>

<language>en</language>

<textString></textString>

</instanceValue>

</addressType>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary> http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>NonfieldedStreetAddress1</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>1234 Street</textString>

</instanceValue>

</addressPart>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>NonfieldedStreetAddress2</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Apt. 122</textString>

</instanceValue>

</addressPart>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>City</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Atlanta</textString>

</instanceValue>

</addressPart>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>StatePr</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>GA</textString>

</instanceValue>

</addressPart>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Postcode</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>12345</textString>

</instanceValue>

</addressPart>

<addressPart>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary> http:00www.imsglobal.org/lis/pmsv2p0/addresspartvocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Country</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>USA</textString>

</instanceValue>

</addressPart>

</address>

The person address block follows the same pattern as the above name block.

Learn Street1 ::

Person:Address: NonFieldedStreetAddress1

Learn Street2 ::

Person:Address:NonFieldedStreetAddress2

Learn City ::

Person:Address:City

Learn State/Province ::

Person:Address:StatePr

Learn Zip/Postal code::

Person:Address:Postcode

Learn Country ::

Person:Address:Country

<contactinfo>

<contactinfoType>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/contactinfotypevocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>EmailPrimary</textString>

</instanceValue>

</contactinfoType>

<contactinfoValue>

<language>en</language>

<textString>someone@somewhere.edu</textString><!--E-Mail Address VALUE -->

</contactinfoValue>

</contactinfo>

Contactinfo provides the email address associated with this person record.

Learn email :: Person:ContactInfo:EmailPrimary

<demographics>

<demographicsType>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/demographicsinfovocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>Primary</textString>

</instanceValue>

</demographicsType>

<eventDate>

<instanceIdentifier>

<language>en</language>

<textString>Birth</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/eventdatevocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Birth</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>1972-03-05</textString><!-- Date of Birth VALUE (YYYY-MM-DD) -->

</instanceValue>

</eventDate>

<eventDate>

<instanceIdentifier>

<language>en</language>

<textString>Death</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/eventdatevocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Death</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString></textString><!-- Date of Death IGNORED by Learn -->

</instanceValue>

</eventDate>

<gender>male</gender><!-- Gender VALUE (male/female) -->

<demographicInfo>

<instanceIdentifier>

<language>en</language>

<textString>PlaceofBirth</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/demographicsinfovocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>PlaceofBirth</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>Silver Spring</textString>

</instanceValue>

</demographicInfo>

<demographicInfo>

<instanceIdentifier>

<language>en</language>

<textString>MaritalStatus</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/demographicsinfovocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>MaritalStatus</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>S</textString>

</instanceValue>

</demographicInfo>

<demographicInfo>

<instanceIdentifier>

<language>en</language>

<textString>Ethnicity</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/demographicsinfovocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>Ethnicity</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>4</textString>

</instanceValue>

</demographicInfo>

</demographics>

This section provides demographics information such as gender, date of birth, etc.

Learn Birthdate :: Person:DemographicInfo:Birth

Learn Gender :: Person:DemographicInfo:Gender

Not supported by Learn

Person:Demographics:Death

Person:Demographics:MaritalStatus

Person:Demographics:Ethnicity

<roles>

<enterpriserolesType>

<instanceIdentifier>

<language>en</language>

<textString>StudentInformationSystem</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/epriserolestypevocabularyv1p0

</instanceVocabulary>

<instanceName>

<language>en</language>

<textString>StudentInformationSystem</textString>

</instanceName>

<instanceValue>

<language>en</language>

<textString>role</textString>

</instanceValue>

</enterpriserolesType>

<institutionRole>

<institutionroletype>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/systemrolevocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>none</textString><!-- System Role VALUE -->

</instanceValue>

</institutionroletype>

<primaryroletype>false</primaryroletype>

</institutionRole>

<institutionRole>

<institutionroletype>

<instanceIdentifier>

<language>en</language>

<textString>unknown</textString>

</instanceIdentifier>

<instanceVocabulary>

http:00www.imsglobal.org/lis/pmsv2p0/systemrolevocabularyv1p0

</instanceVocabulary>

<instanceValue>

<language>en</language>

<textString>Student</textString><!-- Institution Role VALUE -->

</instanceValue>

</institutionroletype>

<primaryroletype>false</primaryroletype>

</institutionRole>

<userId>

<userIdValue>

<language>en</language>

<textString>loginidblah</textString>

</userIdValue>

<userIdType>

<language>en</language>

<textString>Logon ID</textString>

</userIdType>

<password>

<language>en</language>

<textString> {SSHA}JCkADpIzxrezO7Y9H0Swprn6veJNUEMxTENRVg== </textString>

</password>

<pwEncryptionType>

<language>en</language>

<textString>SSHA</textString>

</pwEncryptionType>

<authenticationType>

<language>en</language>

<textString></textString>

</authenticationType>

</userId>

<userId>

<userIdValue>

<language>en</language>

<textString>A00001154</textString><!-- ID IGNORED by Learn -->

</userIdValue>

<userIdType>

<language>en</language>

<textString>SISID</textString>

</userIdType>

<password>

<language>en</language>

<textString>

{SSHA}JCkADpIzxrezO7Y9H0Swprn6veJNUEMxTENRVg==

</textString>

</password>

<pwEncryptionType>

<language>en</language>

<textString>SSHA</textString>

</pwEncryptionType>

<authenticationType>

<language>en</language>

<textString></textString>

</authenticationType>

</userId>

<userId>

<userIdValue>

<language>en</language>

<textString>

user_firstlastname<!-- User_ID and Student_ID VALUE -->

</textString>

</userIdValue>

<userIdType>

<language>en</language>

<textString>Email ID</textString>

</userIdType>

<password>

<language>en</language>

<textString>change_me</textString><!-- User Password VALUE -->

</password>

<pwEncryptionType>

<language>en</language>

<textString></textString><!-- Encryption value (if applicable) -->

</pwEncryptionType>

<authenticationType>

<language>en</language>

<textString></textString>

</authenticationType>

</userId>

</roles>

The roles section provides the institutional role and account login information (username and password) for this person record.

Learn Primary Institution Role :: Person:Roles:Role:InstitutionRole

Learn System Role :: Person:Roles:Role:InstitutionRole

See "Institution Roles" or "System Roles" in the System Admin panel for lists of valid Institution and System Roles.

Learn Username and Student ID::

Person:Roles:Role:userId

Learn Password:

Person:Roles:Role:Password

Learn Password Encryption Type:

Person:Roles:Role:PwEncryptionType

Important!

Blackboard only uses the last userId record - if multiple userId records are provided ensure that the login information - username and password - are in the last userId record. So this sample person would log in to Blackboard using

username: user_firstlastname

password: change_me

Not supported by Blackboard

authenticationType

</person>

</personRecord>

</replacePersonRequest>

</SOAP-ENV:Body>

Closing element tags.

Blackboard extensions to LIS

Blackboard supports data elements in addition to those defined in the standard.

LIS SOAP Message Element

Comment

<extension>
       <extensionNameVocabulary>unknown</extensionNameVocabulary>
       <extensionValueType>unknown</extensionValueType> 
       <extensionField> 
              <fieldName>inst_email</fieldName> 
              <fieldType>unknown</fieldType> 
              <fieldValue>someone@somewhere.edu</fieldValue> 
       </extensionField> 
</extension>
<extension>
   <extensionNameVocabulary>unknown</extensionNameVocabulary>.
   <extensionValueType>unknown</extensionValueType>
   <extensionField>
       <fieldName>pronouns</fieldName>
       <fieldType>unknown</fieldType
       <fieldValue>they/them,she/her,ze/zir</fieldValue>
   </extensionField>
</extension>

Institution email is distinct from personal email and used for integrations requiring use of an official address such as the Microsoft Teams integration. Administrators can edit the institution through the SIS Framework, but there is no option for end users to edit.

There are 2 scenarios to be considered:

A. When Person Email is the Institution Email

B. When Person Email isn’t the institution email

Person Email is the Institution Email

For scenario A, the Institution Email (inst_email) is by default set to person email within the SIS integration specifications, and therefore no additional action is required to change this on behalf of the administrator.

Person Email isn’t the institution email

For scenario B, when the person email field isn’t the institution email address and there is a need to update/change this, it’s possible to use a script to populate the institutional email field values using field mapping rather than directly adding data to this field.

This is an example script for populating the institution email field using the Use a custom script text box:

(function() {
     var v = data.person.extensions.get('inst_email'); 
     return v ? v.value : null;
}());

It’s important to note that if required, an admin can revert the field mapping back to ‘Person Email’. If a custom script has been used, this will be preserved.

Multiple pronoun values for a person

It’s possible to send multiple pronoun values per student. This is sent as a single fieldValue entry with the different values separated by commas.

<extension>
       <extensionNameVocabulary>unknown</extensionNameVocabulary>
       <extensionValueType>unknown</extensionValueType>
       <extensionField>
              <fieldName>pronunciation</fieldName>
              <fieldType>unknown</fieldType>
              <fieldValue>kris-chun</fieldValue>
       </extensionField>
</extension>

Name pronunciation

The name pronunciation field is text (unicode) to support phonetic spelling or a pronunciation guide. Exchange of audio recording files aren’t supported with the SIS integration framework.