Understanding Compare Processing for Register (ITT)
Processing that's similar to the Data Futures return is available for ITT or Register trainee teachers (Register).
After the initial extract of data, if the compare parameter is selected, the extract entity and fields are compared with the corresponding submitted data record to determine which records are new, which have changed, and which are unchanged. The Entity Status and Field Status values of the extract records are updated to indicate where the record or field needs to be reported to Register.
The processing is only done if the Compare Extract with Submitted checkbox is selected on the Create Extract Data page.
The entity submitted data records are keyed on Institution, Return Type, Effective Date, Effective Sequence and then the unique keys for the particular entity record. The related submitted data fields records also include Field (SSR_HE_FIELD) in the key. The comparison is done against the most recent effective dated/sequenced record for the Institution and Return Type (namely, ITT) in the submitted data for the keys values for each entity.
Unlike the Data Futures return DFSTDNT, there's no requirement to indicate parent entities with the Entity Status of Identify in cases where there's no change to the entity itself or its fields. It's required in DFSTDNT to include the parent entity in the XML file, but it isn't required when sending records via the Register API. New and updated Degree and Placement entities can be sent independently from the student/trainee.
The Register API allows deletion of Placement and Degree records. The compare processing will create extract records for Placements that have previously been reported for the current reporting period but are now not applicable to the trainee. The Entity Status will be set to Delete. Since only one Degree entity is reported, the existing record will be updated rather than a new record being added and the existing record deleted.
The unique Register identifiers for each entity are stored in the submitted data record. The comparison will populate the unique identifier in the extract record when it's matched to an existing record in submitted data. The unique identifiers will then be used for PUT and DELETE requests as part of the Export Trainees process.
Each Placement entity is uniquely identified by the combination of School URN, Placement Name, and Start Date. In cases where an entity was previously reported for the current reporting period and no longer applies, extract entities are created with Entity Status of Delete.
Fields
For each Placement field extract record for the return where the Derived Value isn't null, the record is compared with the corresponding submitted data record.
If the Derived Value of the field is NULL ERROR, the Field Status remains as Error.
If the combination of Institution, SID, School URN, Placement Name, Start Date, and Field doesn't exist in the most recent submitted data record, Field Status is set to New.
Otherwise, the field already exists in submitted data.
If the Entity Status in the most recent submitted data record is Delete (in other words, previously deleted), Field Status is set to New.
If the Reported Value in the extract is different from the Reported Value in the most recent submitted data record (this would only apply to Postcode), Field Status is set to Amended.
Field Status is set to Unchanged.
Entities
For each Placement entity extract record for the return, the record is compared with the corresponding submitted data record.
If at least one field has Field Status of Error, the Entity Status remains as Error.
If the combination of Institution, SID, School URN, Placement Name, and Start Date doesn't exist in the submitted data record, Entity Status is set to New and Placement ID is kept blank in the extract record.
Otherwise, the entity already exists in submitted data.
If the Entity Status in the most recent submitted data record is Delete (in other words, previously deleted), Entity Status is set to New and Placement ID is kept blank in the extract record.
If there are one or more Field extract records with Field Status of New or Amended, Entity Status is set to Amended and Placement ID in the extract record is updated with the value from submitted data—if the value in submitted data isn't blank.
If there are no Field extract records with Field Status of New or Amended, Entity Status is set to Unchanged and Placement ID in the extract record is updated with the value from submitted data—if the value in submitted data isn't blank
Obsolete entities are deleted. A check is done on Start Date to prevent the deletion of records from previous reporting periods.
For any existing entities in submitted data where the School URN, Placement Name, and Start Date for the entity doesn't appear in the extract data and the Start Date is in the reporting period:
A new entity is created in the extract with Entity Status of Delete and Placement ID set to the value from the submitted data record.
A new field extract field record is created for School URN and Placement Name with Field Status of Delete.
Because School URN and Placement Name are part of the key, only updates to Postcode value will trigger an Entity Status of Amended. Postcode isn't included for Delete extract entities.
Since only one Degree entity is created per student, for the purposes of updating existing records, each entity can be uniquely identified by Institution and SID.
There's no delete processing for this entity.
Fields
For each Degree field extract record for the return where the Derived Value isn't null, the record is compared with the corresponding submitted data record.
If the Derived Value of the field is NULL ERROR, the Field Status remains as Error.
If the combination of Institution, SID, and Field doesn't exist in the most recent submitted data record, Field Status is set to New.
Otherwise, the field exists in submitted data.
If the Reported Value in the extract is different from the Reported Value in the most recent submitted data record, Field Status is set to Amended.
The Field Status is set to Unchanged.
Entities
For each Degree entity extract record for the return, the record is compared with the corresponding submitted data record.
If at least one field has Field Status of Error, the Entity Status remains as Error.
If the combination of Institution and SID doesn't exist in the submitted data record, Entity Status is set to New and Degree ID is kept blank.
Otherwise, the record already exists in submitted data.
If there are one or more Field extract records with Field Status of New or Amended:
Entity Status is set to Amended.
The Degree ID field in the extract record is updated with the value from submitted data, if the value in submitted data isn't blank.
If there aren't any Field extract records with Field Status of New or Amended:
Entity Status is set to Unchanged.
The Degree ID field in the extract record is updated with the value from submitted data, if the value in submitted data isn't blank.
Parent Entity: None
Each entity is uniquely identified by Student Identifier (SID).
Fields
For each Student field extract record for the return where the Derived Value isn't null, the record is compared with the corresponding submitted data record.
If the Derived Value of the field is NULL ERROR, Field Status remains as Error.
If the combination of Institution, SID and Field doesn't exist in the most recent submitted data record, Field Status is set to New.
Otherwise, the field exists in submitted data.
If the Reported Value in the extract is different from the Reported Value in the most recent submitted data record, Field Status is set to Amended.
FIeld Status is set to Unchanged.
Entities
For each Student entity extract record for the return, the record is compared with the corresponding submitted data record.
If at least one field has Field Status of Error, the Entity Status remains as Error.
If the combination of Institution and SID doesn't exist in the most recent submitted data record, Entity Status is set to New and Trainee ID is kept blank.
Otherwise, the record already exists in submitted data.
If there are one or more Field extract records with Field Status of New or Amended:
Entity Status is set to Amended.
Trainee ID in the extract record is updated with the value from submitted data, if the field in submitted data isn't blank.
If there aren't any Field extract records with Field Status of New or Amended:
Entity Status is set to Unchanged.
Trainee ID in the extract record is updated with the value from submitted data, if the field in submitted data isn't blank
Since placements and degrees can be sent via the API without the student/trainee, the status of the Student entity isn't updated based on the child placement and degree entities.