How Can We Help?
Rules for relationship ID generation during SynchronisationRules for relationship ID generation during Synchronisation
This article describes the rules for relation ID generation if no ID is available for Student, Staff, and Supervisor relations
When synchronising data from customers views, we need unique IDs for each of the different relations that we synchronise. Sometimes these IDs cannot be supplied from the customer. This page describes the strategy we use to generate these IDs given the data.
Furthermore, we need some algorithm to identify various relations, when they should be linked to each other. These algorithms are also described in this page.
Every ID where a date is used, should be formatted according to the ISO8601 standard without milliseconds, to avoid having whitespaces in the ids.
Staff Organisation Relation
The ID for the Staff Organisation Relation, if the customer cannot supply this is
PersonID_OrganisationID_<Role>_Start date
The <Role> part is one of
- Employment Type
- Generic Role Title
- Post Title
which should be chosen at the beginning of the project.
Student Organisation Relation
The id for the Student Organisation Relation is:
PersonID_OrganisationID_StudentType_Start date
Student Supervision Relation
The id for the Student Supervision Relation is:
SupervisorStaffId_SupervisorOrganisationId_StudentID_StudentOrganisaitonID_StartDate
Please note that the student supervisor relation is in fact a relation between two relations. E.g. the staff-organisation-relation and the student-organisation-relation. In cases where we have an ID for these two relations, the student supervisor relation is made based on these. When we do not have these IDs we need an algorithm, to uniquely identify student supervisor relation. How this is done is described below.
Information below this, only apply to one Pure installation (York)
When synchronising the Supervisor relation, and no IDs for the various relations are defined, we need a heuristic algorithm to find the StaffOrganisationRelations, and the StudentOrganisationRelation. These are needed in order to correctly say who supervised whom at what time. The algorithm tries to narrow the list of potential student organisation relations, and when the result set contains more than one relation, it proceeds to the next step. Otherwise it uses the matched relation. The same strategy is used in all the algorithms described, noted by "if result > 1"
If an already synchronised StudentSupervisorRelation is removed from the view/data it will be deleted, not retired.
|
|
Student Funding Relation
The ID for the Student Funding Relation is:
StudentId_StudentOrganisationId_AcademicYear_Funder
If an already synchronised StudentFundingRelation is removed from the view/data it will be deleted, not retired.
We need an algorithm to find the correct StudentOrganisationRelation
|
Updated at July 27, 2024