Student Course Status Has Changed

Event: StudentCourseStatusHasChangedEvent

Topic: anth-stucoustschg-stu-rch-sbts-01

The StudentCourseStatusHasChanged business event is raised in every place within the Anthology Student application where a saved unit of work includes a change to the status property on the StudentCourse entity (Status column in the AdEnrollSched table). The event is raised if the column that was updated is the Status column AND the value is different from what it was before. The event is also raised when new rows are inserted into the StudentCourse entity where the initial value of Status is set to "F".

Student Course Status Change Events
Event Name Raised when a student course status is updated to ...
StudentCourseStatusHasChanged Any value
StudentCourseStatusHasChangedToRegistered Registered (“S”)
StudentCourseStatusHasChangedToCurrentlyAttending Currently Attending (“C”)
StudentCourseStatusHasChangedToGradePosted Grade Posted (“P”)
StudentCourseStatusHasChangedToDrop Drop (“D”)
StudentCourseStatusHasChangedToFuture Unregister or newly added course row

The StudentCourseStatusHasChanged event will be raised for individual students, in batch processing, or within other processes that change student statuses, including inside stored procedures. These processes include:

  • Course Registration

  • Attendance Posting

  • Grade Posting

  • Student School Status Changes

The event can be raised from Anthology Student, Student Portal, Faculty Portal, and APIs (Registration API, Attendance API, Transfer Credit API, and Post Grade API).

When the event is triggered, the following properties are pushed to the Azure Service Bus:

  • Student Course Status
  • Previous Course Status
  • Enrollment ID
  • Student ID
  • Term ID
  • Course ID
  • Enrollment Period ID
  • AD Program ID
  • Course Status Change Reason
  • Class Section ID
  • Person ID

The event message is populated with the applicable data. The message includes properties that are commonly needed for all business events raised as well as properties that are specific to the context of the business event being raised. For these specific business events, the previous and new values of student course status are included in the message. Other properties may be included as well.

Note: The event will not act upon acknowledgements.

AS-Reach AckConfirm

For events that originate from the Anthology Student database such as "Student Course Status Has Changed", triggers on the relevant tables are the mechanism by which events are raised when records in the tables are updated. Triggers insert messages into the queue tables that are then processed by the Service Module Host. For any new events being added, messages are inserted into the DatabaseTriggeredEventsServiceQueue table by new database triggers.

A common event handler (CE) monitors all Anthology Student database events. The CE extracts the event names and payloads and places the messages on the Service Bus or on multiple Service Buses in multi-tenant environments.

Once the data is posted successfully to the Dataverse, an acknowledgement is returned to Anthology Student via an Azure Function.

Integration Example

  • Anthology Student and Anthology Reach are integrated in terms of reference data such as:

    • Courses
    • Course/class sections
    • Students
    • Academic periods/terms
  • If the reference data required for the use case is not available, handled exceptions are returned to the source system.

    The integration of reference data is part of flow-based events in Anthology Reach. Please see Integrated Entities.

  • In the Power Apps for Anthology Reach, the cmc_externalidentifier is mapped under Tables > Integration Mapping.

  • In Service Bus Explorer, a subscription exists for the "StudentCourseStatusChange" topic.

    Note: A topic is a collection of Azure Functions and logic apps. Available topics are based on business needs. Each topic can cover multiple entities. A topic can have multiple subscriptions. Azure Service allows 10,000 topics and each topic can have 200 subscriptions. The Service Bus creates a dead letter queue for multiple subscriptions.

  • The StudentCourseStatusChange topic is activated in the Anthology Student settings (see Configure Anthology Student Settings).

Check the Data Flow

  1. In Anthology Reach under Contacts > Student Progress, check the enrollment record for a sample student. The Registration Status is "Dropped".

    Student Course Status Dropped

  2. In Anthology Student under Academic Records > Student Courses, reinstate the student's enrollment .

    Student Course Status Reinstated

    At this point, the Service Module Host invokes the Azure Service Bus and triggers an Azure Function named "StudentCourseStatusChangeServiceBusTrigger”. An acknowledgement is returned to the Integration API, and the Status change is registered in the Dataverse.

  3. In Anthology Reach, refresh the Registration Status. Note that it changed from "Dropped" to "Registered".