...
Solution
From the use cases that listed in this document, we summarize the requirements list the summary of the solution below:
- The ACT needs has a way to manage requests for datasets under ACTAccessRequirement. We need to support the following:
- Ability to view Submitted requests for a particular dataset. Allowing the ACT to see all information and quickly decide if the request contains the required information.
- Ability to approve a request and grant access to all accessors.
- Ability to reject a request, provide the instructions on how to correct/provide the missing information, and send email to requestor.
- The ACT needs has a way to configure the ACTAccessRequirement to indicate the required information.
- A requestor needs has a way to create a request, save it, and submit it to ask for access to a dataset under ACTAccessRequirement.
- A requestor needs to will be able to correct the old request and submit it after the old submission was rejected. They would not need to type/ provide any correct information that they already provided in the old submission.
- A requestor needs to will be able to remove an accessor from his/her approved request. This action takes away the accessor's access to the dataset.
- The ACT needs to have has the annual review reminder emails automatically sent to accessors.
- An accessor needs to will be able to provide the required information for the annual review process to keep their access to the dataset.
- An accessor needs to will be able to provide the final statement of use when they no longer need to access the controlled data.
- The ACT needs to has a way to mark a request to have it's Project Lead, Institution, and IDU to be publicly available.
Phases
We recognize the needs to support requirements #1, #2, #3, #4 in the first phase. After the first phase is built, requirements #5, #6, #7 will become important.
Based on discussions with the ACT, we haven't had users come back to us with a final statement of use, so #8 would have low priority. #9 could still be solved by an R script.
Object Models
ACTAccessRequirement |
---|
(original fields) |
String instruction |
Boolean isCertifiedUserRequired |
Boolean isValidatedProfileRequired |
Boolean isDUCRequired |
String ducFileHandleId |
Boolean isIRBRequired |
Boolean areAttachmentsRequired |
Boolean isAnnualReviewRequired |
...
When the owner of a working group add a user, he/she will also need to update the request and create a new submission. An ACT member will review the new submission and make decision to grant access to the new member.
Services
Action | Intended User | URI | Method | Request Params | Request Body | Response Body | |
---|---|---|---|---|---|---|---|
1 | create a WorkingGroup | SynapseUser | /workingGroup | POST | WorkingGroup | WorkingGroup | |
2 | retrieve a WorkingGroup | owner | /accessRequirement/{id}/workingGroup | GET | WorkingGroup | ||
3 | update a WorkingGroup | owner | /workingGroup | PUT | WorkingGroup | WorkingGroup | |
4 | transfer ownership of a WorkingGroup | owner | /workingGroup/{id}/updateOwner | PUT | WorkingGroup | WorkingGroup | |
5 | create a DataAccessRequest | Synapse User | /dataAccessRequest | POST | DataAccessRequest | DataAccessRequest | |
6 | retrieve a DataAccessRequest | creator | /accessRequirement/{id}/listRequest | GET | DataAccessRequest | ||
7 | update a DataAccessRequest | creator | /dataAccessRequest | PUT | DataAccessRequest | DataAccessRequest | |
8 | submit a DataAccessRequest | creator | /dataAccessSubmission | POST | DataAccessRequest | DataAccessSubmission | |
9 | retrieve a list DataAccessSubmission | requestor | /accessRequirement/{id}/listSubmission | GET | nextPageToken | DataAccessSubmissionPage | |
10 | cancel a DataAccessSubmission | requestor | /dataAccessSubmission/{id}/cancel | PUT | DataAccessSubmission | ||
11 | update a DataAccessSubmission | ACT | /dataAccessSubmission | PUT | DataAccessSubmission | DataAccessSubmission | |
12 | retrieve a list of DataAccessSubmission | ACT | /accessRequirement/{id}/listSubmission | GET | nextPageToken, filter (by status) | DataAccessSubmissionPage |
Notification
Condition | Target User | Notes | |
---|---|---|---|
1 | After a new submission is created | ACT member | Includes link to a page that manages the dataset's access requests |
2 | After a submission is approved | Accessors | Includes link to dataset |
3 | After a submission is rejected | Requestor | Includes reason Includes link to create a new request from the rejected one |
...