Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Study  (one per research instrument participants will use in a study)1 this well
MethodURIAuthBodyParametersReturnDescription
Studies
GET/studiesAdminBridge User- PaginatedResults<Study>All studies (for creating links within any community)
GET/studies/{id}Bridge User-Study 
GET/studies/enrolledBridge User-PaginatedResults<Study>All studies in which the user has one or more participants enrolled. Need this to set up correct forms, etc. in the UI
POST/studiesAdminStudy Studystudy with id returned
GETPUT/studies/{id}Admin- StudyStudy PUT
DELETE/studies/{id}Admin-- Study
POST/studies/{id}/consentBridge UserDatasetDatasetSubmit consent form instance; become a participant in the study
DELETE/studies/{id}/withdraw/{id}AdminBridge User- - Delete all datasets for the indicated participant, and delete the consent record; this participant has been withdrawn from the study
Forms / Dataset Definitions
GET/studies/{id}/formsResearcher w/ edit permissionBridge User- PaginatedResults<Form>Unlikely to be more than a page of these
POSTGET/studies/{id}/formsResearcher w/ edit permissionForm /{id}Bridge User-Formform with id returnedGET 
POST/studies/{id}/forms/{id}Researcher w/ edit permission- FormForm form with id returned
PUT/studies/{id}/forms/{id}Researcher w/ edit permissionForm Form 
DELETE/studies/{id}/forms/{id}Researcher w/ edit permission- - 
Consents (a special kind of form/dataset definition, one per study, used to create a consent record, stored encrypted)
GET/studies/{id}/consentResearcher w/ edit permissionBridge User- Form get consent form
PUT/studies/{id}/consentResearcher w/ edit permissionForm -create or update consent form
DELETE/studies/{id}/consentResearcher w/ edit permission- - delete consent form
Participants (User will create one or more participants for each research project the user is involved with; I would list all participations across all projects, since we proposed initially to show it in the profile or journal section of the app)
GET/participantsBridge User-studyIdPaginatedResults<Form>PaginatedResults<Dataset>All across all studies, unless filtered for a research project
POST/studies/{id}/participantsBridge UserForm FormAgree to consent form and become a participant in the study
for this user
GET/participants/{id}Bridge User- Form Datasetview consent form
PUT/participants/{id}Bridge UserFormDataset - 
DELETE/participants/{id}Bridge User-   
DELETE/participants/{id}/withdrawBridge User- -Delete all datasets for this participant and delete the consent record; this participant has been withdrawn from the studyDatasetupdate consent form
Datasets (have to be scoped to a participant; not sure how to structure forms with a project or forms between projects)
GET/datasetsBridge User/{id}Anonymized Participant- PaginatedResults<DatasetHeader>All datasets for all forms in all studies for all participantsone participant
GET/form/{id}/datasets/{id}Bridge User-Anonymized Participant PaginatedResults(DatasetHeader>PaginatedResults<DatasetHeader>All datasets for one participant
DELETE      
POST      
GET      
PUT      
DELETE      

Researcher - can be pretty much any Synapse user

 

...

a specific form and participant
GET/study/{id}/

...

datasets/{id}

...

Anonymized Participant  All datasets for a specific study and participant (datasets may have been generated from different forms)
POST/datasets/{id}Anonymized ParticipantDatasetRow-Append a row to the dataset (create if necessary) for a participant
GET/datasets/{id}/

...

{

...

row}Anonymized Participant-DatasetRowGet full record for row N for

...

a participant
PUT/

...

datasets/{id}/

...

{

...

row}Anonymized ParticipantDatasetRowDatasetRowEdit row N for

...

a participant
DELETE/

...

datasets/{id}/

...

{

...

row}Anonymized Participant--Delete row N for a participant

 

Participants - In order for a user to manipulate multiple participants, those records have to have some kind of identifying information that we can refer to (that is the same between consents to different research), like a name or something. Otherwise we really can't give the user an UI to manipulate Jane vs. Johnny in a given study.