Versions Compared

Key

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

...

ResearchProject
String id
String accessRequirementId
String institution
String projectLead
String intendedDataUseStatement
String ownerId
String createdBy
Long createdOn
String modifiedBy
Long modifiedOn

...

After a ResearchProject is created, only the creator can make changes to a ResearchProject. The owner can also change the ownership of a ResearchProject by changing the ownerId value to another userId that has been granted access to the dataset under the same ResearchProject. After taking over the ResearchProject, a user would have the same permissions with the DataAccessRequest's creator.

DataAccessRequest implements DataAccessRequestInterface
String id
String accessRequirementId
String createdBy
Long createdOn
String researchProjectId
List<String> accessors
String ducFileHandleId
String irbFileHandleId
List<String> attachments
String modifiedBy
Long modifiedOn

...


ActionIntended UserURIMethodRequest ParamsRequest BodyResponse Body
1create a ResearchProjectSynapse User/researchProjectPOST
ResearchProjectResearchProject
2retrieve a ResearchProjectcreator/accessRequirement/{id}/researchProjectGET

ResearchProject
3update a ResearchProjectcreator/researchProject/{id}PUT
ResearchProjectResearchProject
4transfer ownership of a ResearchProjectcreator, ACT/researchProject/{id}/updateOwnerPUT
ChangeOwnershipRequestResearchProject

create or update Research ProjectSynapse User/researchProjectPOST
ResearchProjectResearchProject

get ResearchProject for updatecreator/accessRequirement/{id}/researchProjectForUpdateGET

ResearchProject
5create a DataAccessRequestSynapse User/dataAccessRequestPOST
DataAccessRequestDataAccessRequest
6retrieve the current DataAccessRequestcreator, ResearchProject's owner/accessRequirement/{id}/dataAccessRequestGET

DataAccessRequestInterface
7asking the server for a suitable request object to start withcreator/accessRequirement/{id}/dataAccessRequestForUpdateGET

DataAccessRequestInterface
8update a DataAccessRequestcreator, ResearchProject's owner/dataAccessRequest/{id}PUT
DataAccessRequestInterfaceDataAccessRequestInterface

create or update DataAccessRequestSynapse User/dataAccessRequestPOST
DataAccessRequestInterfaceDataAccessRequestInterface
9submit a DataAccessRequestcreator, ResearchProject's owner/dataAccessSubmissionPOST
DataAccessRequestInterfaceSubmissionStatus
10retrieve the latest DataAccessSubmission's statusrequestor, ResearchProject's owner, accessors/accessRequirement/{id}/submissionStatusGET

SubmissionStatus
11cancel a DataAccessSubmissionrequestor, ResearchProject's owner/dataAccessSubmission/{id}/cancelPUT

SubmissionStatus
12update a DataAccessSubmissionACT/dataAccessSubmission/{id}PUT
SubmissionStatusChangeRequestDataAccessSubmission
13retrieve a list of DataAccessSubmissionACT/accessRequirement/{id}/listSubmissionGETnextPageToken, order, filter (by status)
DataAccessSubmissionPage
14retrieve a list of Approval Status for a given list of AccessRequirementSynapseUser/accessApproval/statusPOST
AccessApprovalStatusRequestAccessApprovalStatusResults
ChangeOwnershipRequest
String researchProjectId
String newOwnerId
SubmissionStatus
String submissionId
State state
String rejectedReason
Long reviewedOn

...


Compare behaviors of #6 and #7


GET /accessRequirement/{id}/dataAccessRequestGET /accessRequirement/{id}/dataAccessRequestForUpdate
user has not created a requestNotFoundExceptionempty DataAccessRequest
user has a request, zero APPROVED submissionthe created DataAccessRequestthe created DataAccessRequest
user has an APPROVED submission, requires renewalthe created DataAccessRequestre-filled DataAccessRenewal
user has an APPROVED submission, renewal not requiredthe created DataAccessRequestthe created DataAccessRequest

...