Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

EVENT

An Event is the thing being recorded in the hub: user completed a course, earned a credential, etc.

This design is influenced by the idea of a Learning Record Store in xAPI, but with less complexity.

Field

Type

Notes

EventId

PRG-UUID
(26+128 chars)

{ProgramId}-{UUID}

The {ProgramId} helps guarantee uniqueness but also to make the IDs more human readable.

Event Ids are assigned by the Learning Hub.

PublisherProgramId

string (25 char)

Descriptive name for the Program that published this event.

PublisherSystemId

string (25 char)

Identifier for the type of system that published this data.

Currently, only the value “LB” is supported, for LearningBuilder.

EventType

string (50 char)

The type of event as reported by the publisher.

This list of possible types will vary by PublisherSystemId. For LearningBuilder this will be one of:

  • AI_COMP_SUCCESS - Complete Activity WFsuccessful

  • LPI_STARTED -

    Status
    titleFUTURE USE

  • LPI_COMP_UNSUCCESS -

    Status
    titleFUTURE USE

  • LPI_COMP_SUCCESS -

    Status
    titleFUTURE USE

  • LPI_REOPENED -

    Status
    titleFUTURE USE

  • AI_STARTED -

    Status
    titleFUTURE USE

  • AI_COMP_UNSUCCESS -

    Status
    titleFUTURE USE

  • AI_REOPENED - Recalled from complete to incomplete -

    Status
    titleFUTURE USE

PublisherEventId

string (200 char)

The Program’s unique identifier for the source event.

For LearningBuilder this will be something like “AI:1234”, which would be the Activity Instance WFI #1234

PublisherParticipantId

string (200 char)

The Program’s unique identifier for the person, organization, or entity that the event relates to.

Info

Each event contains the ID of the related party in the publisher’s system. It is up to subscribers and publishers to determine how those values should be mapped between their systems.

PublisherEventCategory

JSON object
optional

High level classification of this event, within the publisher’s system.

Code Block
languagejson
{
  "value": "some constant value",
  "label": "some human readable value"
}

The value property should be an ID or code that represents the event type to the publisher.

The label property is a human readable explanation of that value, at the time of publishing.

The label can change over time, but the value should stay constant.

This data can be used by the subscriber to map different types of publisher data to different import templates. If omitted, subscribers will not be able to differentiate between different types of records coming from the publisher.

PublisherEventData

JSON blob

The Program’s Publisher’s representation of the event data.

Info

When the Publisher is LearningBuilder, this structure should contain an element called activityTypeId, which should be the Activity Type Id of the data in the publisher’s systemThe schema of this JSON structure should be shared with the Subscriber(s), so that they know how to translate it into their own representation in their Event Subscriptions.

EventStartUtc

UTC date/time

Non-null date/time the event started. (If only a single date/time is associated with the event, it is stored here).

EventEndUtc

UTC date/time

Nullable date/time that the event ended.

CreatedUtc

UTC date/time

UTC timestamp when this record was created.

...