Changes to some Synapse tables may require strict change control procedures in order to meet agreements with data providers, regulators, or for other change control purposes. This process can be used to ensure that changes to a Synapse table are limited to approved by specific authorities.
Scope
This process covers Synapse objects that can be versioned and annotated by the Synapse application; currently this can be done for tables. This process relies on the security model of Synapse, on versioning to capture changes, and on annotations to record signature of the approval authority.
Out of scope
- Changes to the configuration of a Synapse project are beyond the scope of the process; auditing of configuration changes can be done by administrators and audited through reports on the Synapse data warehouse.
Process Requirements
Requests for ad-hoc data changes start with a Jira issue ticket that serves as a record of the change and approval process.
The issue ticket must include the following elements:
- In all cases, the change request must be formally documented and tracked as an issue in Jira to create an audit-able trail of the work to be done. This must include a description of who is performing the data change and the specifics of what the change entails. This should be detailed enough so that someone looking at the data after the fact can determine how the data was changed. A project should have an appropriate data change form template that includes the appropriate elements, such as this example.
- For some projects, the authoritative change request must be recorded in a partner's record system, signed by approval authorities, and linked to the Jira issue.
- An administrative user may temporarily assign write permission to the user who will oversee the change. This is to ensure that no user participating in the project can modify participant data unilaterally, and that we have an audit-able record of following this procedure.
- Perform the change:
- The Investigator or delegate must issue an API call, such as through the web client, to create a snapshot of the table version. The snapshot becomes an immutable record of the state of the table before the change.
- A label reflecting the nature of the change and referencing the explanatory Jira ticket should be included in the version snapshot.
- The version comment should contain a link to a Jira ticket that includes the signed change request if appropriate for the project.
- The appropriate project staff may apply the change with appropriate supervision as defined by the project requirements.
- The Investigator or delegate must issue an API call, such as through the web client, to create a snapshot of the table version. The snapshot becomes an immutable record of the state of the table before the change.
- The project investigator or other approval authority should review and validate prior and changed versions of the data and close the Jira issue that documents the change request.
- The administrative user must revert permissions in order to prevent further modification of the table.
Managing Synapse Permissions
Permission control on the Synapse entities should be limited to those with a need to access and modify objects for the duration which requires access. Write access to tables that require this level of control should be limited by Synapse Team. Tables generated through the Bridge export process require BridgeAdmin Team membership, for example, as described in the Bridge Ad Hoc Data Change Process.
Related articles
Bridge Data Change Request Process