Document toolboxDocument toolbox

Bridge Research Study REST API

MethodURIAuthBodyReturnDescription
Studies
GET/studiesBridge 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/studiesAdminStudyStudystudy with id returned
PUT/studies/{id}AdminStudyStudy 
DELETE/studies/{id}Admin-- 
POST/studies/{id}/consentBridge UserDatasetDatasetSubmit consent form instance; become a participant in the study
DELETE/studies/{id}/withdraw/{id}Bridge 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}/formsBridge User-PaginatedResults<Form>Unlikely to be more than a page of these
GET/studies/{id}/forms/{id}Bridge User-Form 
POST/studies/{id}/formsResearcher w/ edit permissionFormFormform with id returned
PUT/studies/{id}/forms/{id}Researcher w/ edit permissionFormForm 
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}/consentBridge User-Formget 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-PaginatedResults<Dataset>All across all studies, for this user
GET/participants/{id}Bridge User-Datasetview consent form
PUT/participants/{id}Bridge UserDatasetDatasetupdate consent form
Datasets (have to be scoped to a participant; not sure how to structure forms with a project or forms between projects)
GET/datasets/{id}Anonymized Participant-PaginatedResults<DatasetHeader>All datasets for one participant
GET/form/{id}/datasets/{id}Anonymized Participant PaginatedResults<DatasetHeader>All datasets for 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.