Managing Data within PASI

When Integrating with PASI, most solutions will need to update the data in PASI as it changes within the integrated solution.


Architectural Considerations

For following questions should be considered for each set of data the integrated solution is managing within PASI.

What approach is used when the solution cannot communicate with PASI when attempting to submit data updates to PASI?

PASI recommends that the integrated solution allows its users to proceed with their activities even if PASI is not available but provide reminder/notification to its users when action is required to fully complete a transaction when PASI is available.

For example, creation of a new student should still proceed even if PASI cannot be searched to find the student’s ASN or to create a new ASN for the student. The solution is expected to provide a persistent reminder to its users of the incomplete transaction until such time as the transaction has been fully completed. Once PASI is available, users must be able to return to the student in the solution, search PASI to find and record the student’s ASN. Once the ASN has been recorded, the reminder must no longer exist.

PASI recommends integrated solutions have a transaction queue that will hold service requests that cannot be submitted to PASI until such time as connectivity to PASI can be reestablished. Once connection to PASI has been established, queued transactions would be submitted to PASI.

Queued transactions MUST include the reference to the original version number of the entity that the end user was viewing when they created the update transaction. If the entity has a different version number when the transaction is later submitted to PASI, the transaction will be rejected by PASI and the transaction MUST be reviewed by a user to ensure that the update to the entity still makes sense.

For example an update to a student’s address in a SIS should still be completed even if PASI is not available. Once PASI is available, the queued Submit Mailing Address request should be automatically submitted to PASI. Consider this example:

  • A student (at version 100) has a single mailing address (123 Elm St) and enrolls in a new school.
  • On the registration form at the new school the student has indicated a mailing address of 456 Main St.
  • Based on this data, the user submits a transaction to PASI to ADD a new preferred address of 456 Main St and sets the end-date of the existing mailing address of 123 Elm St to the current date.

Now consider the case where PASI is unavailable when these transactions are created and that when the SIS finally submits these transactions to PASI, the student entity is now at version 110 and has had a new address of 456 Main Street added as the student’s new preferred mailing address (by some other user in another school authority).

  • In this case the user must review the updated student entity to ensure that the original transactions still make sense.
  • In this case, the user would likely conclude that no update is required.

Integrated solutions MUST NOT blindly resubmit the original transactions with the student’s new version number.

What approach is used when there is a version mismatch with PASI?

To ensure that updates to data are applied in an intention manner, PASI requires that an integrated solution is aware of the most recent version of a record before it can be updated. This way, a user con be confident that the information they intend to update is the only information that actually is updated in PASI. To do this, PASI uses a PASI Core Version for each record.

The PASI Core Version is updated each time the record is updated and is used when Synchronizing Data with PASI. When submitting an update to PASI, integrated solutions must submit (in addition to the updated information) the current PASI Core Version of the record. PASI will validate that the submitted PASI Core Version is the current PASI Core Version before updating any information in PASI. If the submitted PASI Core Version is not the current PASI Core Version of the record, the submission with be rejected based on Rule 3004 - PASI Core Version Mismatch.

The integrated solution must retrieve the current record and ensure the user is aware of the current information before re-submitting the update to PASI.

What approach is used to handle rejections from PASI?

An integration solution must notify its users of all PASI errors associated with a failed submission and so the user has the opportunity to immediately correct and thus resubmit the information to PASI. If the user is not available at the time the information is submitted, the user must have a mechanism to review the rejection at a later time in order to correct and/or resubmit the information.

What approach is used to update historical information that is not being synchronized with PASI?

As PASI only synchronizes information within the 'synchronization window', however, a user may want to update information outside of this window.

In this situation, an integrated solution will need to specifically retrieve the information before updating the information in PASI to obtain the latest version of the record before submitting updates to PASI.

What are the latency expectations between the software application submitting an update to PASI and that update being reflected in PASI?

PASI is intended to have the most accurate and up-to-date Digital Student Document information. How accurate and up-to-date is dependent on how often it is updated by schools/school authorities.

A software application must immediately submit its Digital Student Document updates to PASI. This will result in PASI being updated in near real time and all organizations using PASI data having access to the most accurate and up-to-date Digital Student Document data.

In the case of large volume Digital Student Document uploads (i.e. report cards for all students in a school) to PASI a software application may immediately submit its Digital Student Document updates to PASI or, if required for software application performance considerations, delay submission to PASI until later day or evening.