Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Field

A field represents a field in a data access request form. Once a field is created, it cannot be updated.

...

Services to create and retrieve a field:

...

Template (Phase 2)

A template contains a list of default fields the ACT wants to have on certain data access request form. When a member of the ACT creates a form on a dataset, they will create the form from an existing template. Once a template is created, it cannot be updated.

...

Services to create and retrieve a template:

...

Form

A form is created by an ACT member for a particular AccessRequirement. It contains the list of information the ACT wants from data requestor. It has the ACT's instruction on how to fill out a request for the data under access requirement. 

Questions:

  • Are there multiple versions of a form for a single accessRequirement? No. Forms are established with the data contributors. Once it is established, we never changed it.
  • Does form ties to accessRequirement? Yes.
  • Once a form is created for an accessRequirement/ data set, is there a need to update it? No.

...

Services to create and retrieve a form:

...

DataAccessRequest

A DataAccessRequest is submitted by a data requestor to request access to a particular dataset. 

...

Requirements

From the use cases that listed in this document, we summarize the requirements below:

  1. The ACT needs a way to manage requests for datasets under ACTAccessRequirement. We need to support the following:
    1. 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.
    2. Ability to approve a request and grant access to all accessors.
    3. Ability to reject a request, provide the instructions on how to correct/provide the missing information, and send email to requestor.
  2. The ACT needs a way to configure the ACTAccessRequirement to indicate the required information. 
  3. A requestor needs a way to create a request, save it, and submit it to ask for access to a dataset under ACTAccessRequirement. 
  4. A requestor needs to 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.
  5. A requestor needs to be able to remove an accessor from his/her approved request. This action takes away the accessor's access to the dataset.
  6. The ACT needs to have the annual review reminder emails automatically sent to accessors.
  7. An accessor needs to be able to provide the required information for the annual review process to keep their access to the dataset.
  8. An accessor needs to be able to provide the final statement of use when they no longer need to access the controlled data.
  9. The ACT needs to 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 be 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
DataAccessRequest
String id
String accessRequirementId
String createdBy
Long createdOn
String projectLead
String institution
String intendedDataUseStatementFileHandleId
List<String> accessors
String ducFileHandleId
String irbFileHandleId
List<String> attachments
Long modifiedOn

Any user can create a DataAccessRequest. accessRequirementId, and createdBy are required.

Only creator of DataAccessRequest can update, and submit the request. To submit a request, it has to meet the requirements specified in the associated AccessRequirement.

Once a request is submitted, a DataAccessSubmission object is created. While there is an DataAccessSubmission with status SUBMITTED, it's associated DataAccessRequest no longer available for update. 

DataAccessSubmission
String id
String dataAccessRequestId
String requestorId
Long submittedOn
String projectLead
String institution
String intendedDataUseStatementFileHandleId
List<String> accessors
String ducFileHandleId
String irbFileHandleId
List<String> attachments
State state (SUBMITTED, APPROVED, REJECTED, CANCELED)
String reviewerId
Long reviewedOn
String rejectedReason
Boolean canPublicAccess

Once a DataAccessSubmission is created, it will have state SUBMITTED until a reviewer (ACT member) review and update its status. 

Services


ActionIntended UserURIMethodRequest ParamsRequest BodyResponse Body
71create a requestDataAccessRequestany Synapse User/dataAccessRequestPOST
DataAccessRequestDataAccessRequestResultDataAccessRequest8retrieve requests for accessRequirementIdACT/dataAccessRequestsGETaccessRequirementIds, limit (max 20), offset, filter (SUBMITTED, APPROVED, REJECTED, EXPIRED), sort (CREATED_ON)DataAccessRequestList9delete a requestrequestor/dataAccessRequest/{dataAccessRequestId}DELETE10change request statusACT/dataAccessRequest/{dataAccessRequestId}PUTChangeDataAccessRequest

Question:

...

2update a DataAccessRequestcreator/dataAccessRequestPUT
DataAccessRequestDataAccessRequest
3submit a DataAccessRequestcreator/dataAccessSubmissionPOST
DataAccessRequestDataAccessSubmission
4cancel a DataAccessSubmissionrequestor/dataAccessSubmission/{id}/cancelPUT

DataAccessSubmission
5update a DataAccessSubmissionACT/dataAccessSubmissionPUT
DataAccessSubmissionDataAccessSubmission

Notification

Requestor

ConditionTarget UserNotes
1After a new request submission is createdACT memberIncludes link to a page that manages the dataset's access requests
2After a request submission is grantedRequestorapprovedAccessorsIncludes link to dataset
3After a request is rejectedRequestor

Includes reason

Includes link to create a new request from the rejected one

4One month before request expiresRequestorInclude links to update request
5After request expires