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 | ||||
PUT | /studies/{id}/consent | Researcher w/ edit permission | create or update consent | |||
DELETE | /studies/{id}/consent | Researcher w/ edit permission | ||||
Participants (1+ for a user; these calls are scoped to the current user). Better to have one flat list of participations, across all research studies? | ||||||
GET | /studies/{id}/participants | |||||
POST | /studies/{id}/participants | |||||
GET | /studies/{id}/participants/{id} | |||||
PUT | /studies/{id}/participants/{id} | |||||
DELETE | /studies/{id}/participants/{id} |
Researcher - can be pretty much any Synapse user
GET /studies/{id}/participants show all participant registered by this user
POST /studies/{id}/participants create new participant
GET /studies/{id}/participants/{id} get detailed participant record
PUT /studies/{id}/participants/{id} update participant record
DELETE /studies/{id}/participants/{id} delete participant record