This method will provide possibility to update learning objective assessment results for a single element.

Action

This type of message will update assessments of a learning objectives in a course element. Each element is identified using course id or synchronization key (sync key) and element id or sync key associated with it during creation. Each person in result array should be identified by itslearning id or synchronization key. The Evaluator is defining the user who made the evaluation.

Scenario

In order to update learning objective assessments for an element: Add a message with the type corresponding to Update.Course.Element.LearningObjective.Assessment. The result of that message processing can be acquired using GetMessageResult method with message identifier as an input parameter.

Input

Name

Description

Remarks

Type

M/O

Nullable (nillable="true" in schema)

Message Type

Type of Message.


UpdateCourseElementLearningObjectiveAssesssment

M


SiteId

Site where action will be executed


Int

O


VendorId

VendorId which will be associated with created content


Text

O


CourseId

ID of the course where the element is to be updated.

You are not allowed to enter both CourseId and CourseSyncKey.

Integer

O/M


CourseSyncKey

SyncKey of the course where the element is to be updated.

Text

O/M


ElementId

ID of the custom activity's element to update. Used interchangeably with ElementSyncKey.

You are not allowed to enter both ElementId and ElementSyncKey.


Integer

O/M


ElementSyncKey

SyncKey of the custom activity's element to updated. Used interchangeably with ElementId.

Text

 O/M


EvaluatorPersonId

Evaluator's itslearning person identifier.

You are not allowed to enter both EvaluatorPersonId and EvaluatorPersonSyncKey.

Integer

O/M


EvaluatorPersonSyncKey

Evaluator's person synchronization key

Text

O/M


Results

Array of result elements.


Object

M


Result

Result element


Object

M


LearningObjectiveId

 Learning objective identifier from repository


Text

M


ParticipantPersonId

Participant's itslearning person identifier

You are not allowed to enter both PersonId and PersonSyncKey.



Integer

O/M


ParticipantPersonSyncKey

Participant's person synchronization key

Text

O/M


RawPercentage

Score person achieved for specified learning objective


Integer

M


OverrideMastery

Possibility to override the rules for mastery that this LO is mastered (nil : do nothing, false: do nothing, true: set mastered)


Boolean

O

Y

Output

Finished Status:

If element's learning objective assessment was updated successfully, the API returns 'Result updated successfully' information message and optionally - warnings, for each result updated.

Warning Status:

  1. User with specified ParticipantPersonId/ParticipantPersonSyncKey is not valid.

  2. User with specified ParticipantPersonId/ParticipantPersonSyncKey is deleted.

  3. Participant specified is not a participant for this activity.
  4. Participant is not a course member.
  5. Duplicated value pair LearningObjectiveId - PersonId.
  6. RawPercentage score must be a value between 0 and 100.
  7. RawPercentage updated successfully. Mastery needs to be enabled for organisation/customer to update mastery status.

Errors Status:

  1. Invalid format / parameters (different to specified schema).

  2. Course with specified CourseId/CourseSyncKey is not valid.

  3. Course is deleted.

  4. Course is archived.

  5. Course is external.

  6. Course has no Learning Objectives enabled.

  7. Your security settings doesn't allow you to perform that operation. Please contact administration to grant you an access to {HieararchyName} organisation.

  8. Element with specified ElementId/ElementSyncKey is not valid.
  9. Element is deleted.
  10. Element is not within the course specified.
  11. Learning Objective assessment is only available for Custom Activities.
  12. Element is set up to not use outcome status.
  13. Evaluator is not a course member.
  14. Evaluator does not have evaluator privilege to this activity.
  15. Learning Objective is not assigned to the element and cannot be updated.
  16. Learning Objective assessment needs to be enable for the customer.
  17. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is not valid.
  18. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is deleted.
  19. User with specified EvaluatorPersonId/EvaluatorPersonSyncKey is external.

Schema

Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="urn:message-schema" elementFormDefault="qualified" targetNamespace="urn:message-schema">
<xs:element name="Message" type="MessageType" />
<xs:complexType name="MessageType">
<xs:sequence>
<xs:element name="SiteId" minOccurs="0" maxOccurs="1" type="xs:int" />
<xs:element name="VendorId" minOccurs="0" maxOccurs="1">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="1"/>
<xs:maxLength value="36"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="UpdateCourseElementLearningObjectiveAssessment" type="UpdateCourseElementLearningObjectiveAssessment" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="UpdateCourseElementLearningObjectiveAssessment">
<xs:sequence>
<xs:choice id="Course">
<xs:element name="CourseId" type="xs:integer" />
<xs:element name="CourseSyncKey" type="xs:string" />
</xs:choice>
<xs:choice id="Element">
<xs:element name="ElementId" type="xs:integer" />
<xs:element name="ElementSyncKey" type="xs:string" />
</xs:choice>
<xs:choice id="Evaluator">
<xs:element name="EvaluatorPersonId" type="xs:integer" />
<xs:element name="EvaluatorPersonSyncKey" type="xs:string" />
</xs:choice>
<xs:element name="Results" minOccurs="0" maxOccurs="1">
<xs:complexType>
<xs:sequence>
<xs:element name="Result" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="LearningObjectiveId" type="xs:string" />
<xs:choice id="Participant">
<xs:element name="ParticipantPersonId" type="xs:integer" />
<xs:element name="ParticipantPersonSyncKey" type="xs:string" />
</xs:choice>
<xs:element name="RawPercentage" type="xs:double" />
<xs:element name="OverrideMastery" type="xs:boolean" minOccurs="0" nillable="true" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:schema>

Examples

Message content example

Sample request
<Message xmlns="urn:message-schema" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<UpdateCourseElementLearningObjectiveAssessment>
<CourseId>20</CourseId>
<ElementId>559</ElementId>
<EvaluatorPersonId>2</EvaluatorPersonId>
<Results>
<Result>
<LearningObjectiveId>LO1</LearningObjectiveId>
<ParticipantPersonId>14</ParticipantPersonId>
<RawPercentage>100</RawPercentage>
</Result>
<Result>
<LearningObjectiveId>LO1</LearningObjectiveId>
<ParticipantPersonId>13</ParticipantPersonId>
<RawPercentage>45</RawPercentage>
<OverrideMastery>true</OverrideMastery>
</Result>
</Results>
</UpdateCourseElementLearningObjectiveAssessment>
</Message>

Output examples

Sample response
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<s:Header>
<o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<u:Timestamp u:Id="_0">
<u:Created>2013-08-07T14:30:45.400Z</u:Created>
<u:Expires>2013-08-07T14:35:45.400Z</u:Expires>
</u:Timestamp>
</o:Security>
</s:Header>
<s:Body>
<AddMessageResponse xmlns="http://tempuri.org/">
<AddMessageResult xmlns:a="http://schemas.datacontract.org/2004/07/Itslearning.Integration.ContentImport.Services.Entities" xmlns:i="http://www.w3.org/2001/XMLSchema-instance">
<a:MessageId>181</a:MessageId>
<a:Status>Warnings</a:Status>
<a:StatusDetails>
<a:DataMessageStatusDetail>
<a:Entity>LoId_LO1:PersonId_14</a:Entity>
<a:Message>Result updated successfully.</a:Message>
<a:SyncKey/>
<a:Type>Info</a:Type>
</a:DataMessageStatusDetail>
<a:DataMessageStatusDetail>
<a:Entity>LoId_LO1:PersonId_13</a:Entity>
<a:Message>RawPercentage updated successfully. Mastery needs to be enabled for organisation/customer to update mastery status.</a:Message>
<a:SyncKey/>
<a:Type>Warning</a:Type>
</a:DataMessageStatusDetail>
</a:StatusDetails>
</AddMessageResult>
</AddMessageResponse>
</s:Body>
</s:Envelope>