Method | URI | Auth | Body | Parameters | Return | Description |
---|---|---|---|---|---|---|
Studies | ||||||
GET | /studies | Admin | - | PaginatedResults<Study> | All studies (for creating links within any community) | |
POST | /studies | Admin | Study | Study | study with id returned | |
GET | /studies/{id} | Admin | - | Study | ||
PUT | /studies/{id} | Admin | Study | Study | ||
DELETE | /studies/{id} | Admin | - | - | ||
Forms / Dataset Definitions (one per research instrument participants will use in a study) | ||||||
GET | /studies/{id}/forms | Researcher w/ edit permission | - | PaginatedResults<Form> | Unlikely to be more than a page of these | |
POST | /studies/{id}/forms | Researcher w/ edit permission | Form | Form | form with id returned | |
GET | /studies/{id}/forms/{id} | Researcher w/ edit permission | - | Form | ||
PUT | /studies/{id}/forms/{id} | Researcher w/ edit permission | Form | Form | ||
DELETE | /studies/{id}/forms/{id} | Researcher w/ edit permission | - | - | ||
Consents (a special kind of form/dataset definition, one per study, stored encrypted) | ||||||
GET | /studies/{id}/consent | Researcher w/ edit permission | - | Form | ||
PUT | /studies/{id}/consent | Researcher w/ edit permission | Form | - | create or update consent | |
DELETE | /studies/{id}/consent | Researcher w/ edit permission | - | - | ||
Participants (1 or more for each research project this 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 | /participants | Bridge User | - | studyId | PaginatedResults<Form> | All across all studies, unless filtered for a research project |
POST | /studies/{id}/participants | Bridge User | Form | Form | Agree to consent form and become a participant in the study | |
GET | /participants/{id} | Bridge User | - | Form | ||
PUT | /participants/{id} | Bridge User | Form | - | ||
DELETE | /participants/{id} | Bridge User | - | |||
DELETE | /participants/{id}/withdraw | Bridge User | - | - | Delete all datasets for this participant and delete the consent record; this participant has been withdrawn from the study | |
Datasets (have to be scoped to a participant; not sure how well structure forms with a project or forms between projects) | ||||||
GET | /datasets | Bridge User | - | PaginatedResults<DatasetHeader> | All datasets for all forms in all studies for all participants | |
GET | /datasets/{id} | Bridge User | - | PaginatedResults(DatasetHeader> | All datasets for one participant | |
DELETE | ||||||
POST | ||||||
GET | ||||||
PUT | ||||||
DELETE |
Researcher - can be pretty much any Synapse user
GET /studies/{id}/form/{id}/datasets get dataset (possibly truncated, as EntityHeaders) for one form
DELETE /studies/{id}/form/{id}/datasets delete this entire dataset [DONT NEED]
POST /studies/{id}/form/{id}/datasets append record to a dataset
GET /studies/{id}/form/{id}/datasets/{id} get row N for dataset
PUT /studies/{id}/form/{id}/datasets/{id} update row N for dataset
DELETE /studies/{id}/form/{id}/datasets/{id} delete row N of dataset