Package-level declarations
Model objects for Bridge endpoints.
Types
Status of a participant's account, for accounts that must verify an email address. |Status|Description| |---|---| |unverified|User has not consented to use the support email address.| |pending|System is waiting for the user to confirm the address.| |verified|User has consented and can sign in to the Bridge server.| On creation, the initial status of a user account depends on the email verification policy of the app. If verification is required, the account will be unverified until the participant verifies the email address; otherwise it will be enabled. Values: "enabled","disabled","unverified"
A record describing the performance state of a scheduled session or assessment, as requested in a Timeline
. Each record describes the state of a session or an assessment.
The AdherenceRecordType can be used to limit search results for adherence records to either assessment or session records. If not present, both records will be returned according to the criteria of the search. |Enum|Description| |---|---| |assessment|| |session|| Values: "assessment","session"
An app configuration object.
Information about an assessment in order to render it in a UI prior to execution.
Describes the content of the User-Agent
field in the format that is accepted and understandable to the Bridge server (see /articles/rest.html).
A pointer to a configuration element.
A description of the participant's consent status in a particular subpopulation (consent group). This object is never used to update state on the server (all fields are read only).
A contact for the study. This is for display to the participants of the study, and in other catalogs of the studies that are available.
The purpose of this contact. |Type|Description| |---|---| |irb|Either the IRB that approved the research, or in secondary jurisdictions, an “assenting” IRB that reviewed the initial approval and accepted it for their own jurisdiction.| |principal_investigator|Principal investigator of the study. Conceivably there can be one of these for every jurisdiction, but this is rare.| |investigator|Position could be co-investigator, medical monitor, repository guardian, etc. Nevertheless, this person is not presented as a point of contact (use a support role for that).| |sponsor|The institution funding the study and/or providing IRB oversight. Sometimes the institution the Principal Investigator is affiliated with.| |study_support|Position could be study coordinator or study contact—the person the participant should contact about participation in the study.| |technical_support|Support person or department for the technology being utilized (mobile app, website, device provisioning, etc.).| Values: "irb","principal_investigator","investigator","sponsor","study_support","technical_support"
Some objects, like Subpopulations and the schedules in a CriteriaScheduleStrategy, are matched against user criteria in order to return the correct object. The criteria against which user information will be matched are described in the Criteria object. See /articles/filtering.html for a fuller explanation.
Details about an enrollment for the participant enrolled in the study.
This value should always be set to production. Values: "local","develop","staging","production"
A pointer to a file revision hosted for this app.
Payload object for an email address or phone number. You do not provide both identifiers when using this object for a call.
The outcome of IRB approval that allows this study to be executed on the Bridge platform. |Type|Description| |---|---| |exempt|The study is considered to be exempt from human subjects research guidelines.| |approved|The study was reviewed by the IRB and its protocol is approved.| Values: "exempt","approved"
A notification to show to a participant as part of the execution of a scheduled session.
They type of notification to provide relative to a session’s time window. This enum specifies when the notification should be shown to the participant. |Status|Description| |---|---| |after_window_start|Issue the notification the offset
after the window starts| |before_window_end|Issue the notification the offset
before the window ends| Values: "after_window_start","before_window_end"
The JSON data for a non-time series participant data attribute.
A detailed description of when a participant should perform specific sessions as part of a study. The ParticipantSchedule is similar to the Timeline in structure, but includes the specific dates when this participant should perform each session, as well as state information about the participant’s completion of the schedule. Entries in the schedule
collection should be ordered by startDate
and startTime
, and entries that are not available to the participant are not included in the collection (ie. entries that have the state not_applicable
). However, definitions for those sessions are still included in the sessions
, assessments
, and studyBursts
collections for future reference. Persistent time windows do not have state (they should always be available to the participant so they are never shown as finished, even if one or more adherence records have been filed for that session).
The assessments in a session can be presented in a fixed and sequential order, in a randomized order the participant cannot choose, or the participant may be allowed to pick and choose the assessments to do them in an order of their choosing. This enum specifies which method must be presented to the participant. |Status|Description| |---|---| |participant_choice|The participant can perform the assessments in any order.| |sequential|The participant must perform the assessments in the order they are specified in the session.| |randomized|The assessments should be presented to the user in a randomized order.| Values: "participant_choice","sequential","randomized"
Using a token supplied in an SMS message authenticate with the server. The token remains valid, once sent, for 5 minutes.
Make a request to sign in using an SMS message. This request will trigger a message to be sent to an existing account's phone number. The SMS message will include a numeric token that must be included in a subsequent request to the server to authenticate.
If the app should issue a second reminder notification, when should this reminder be issued? If null, no reminder should be shown. If present, it can be relative to when a time window starts, or relative to when the window ends. This value works with reminderPeriod
to determine the time. |Status|Description| |---|---| |after_window_start|Issue the reminder reminderPeriod
after the window starts| |before_window_end|Issue the reminder reminderPeriod
before the window ends| Values: "after_window_start","before_window_end"
The roles assigned to this user. Normal users do not have any roles assigned, but for developers, researchers, etc. their roles will appear hear (see main API documentation about the roles assigned by the Bridge server). |Role|Description| |---|---| |developer|A user with the rights to use the app configuration APIs (all admin APIs except for those APIs which expose information about study participants).| |researcher|The research role is assigned to users who have permission to see the users in a study and the activity of participants. We will assign this role to developers during the initial development of the application so they can view the uploads of test accounts, etc.| |admin|A Sage Bionetworks Bridge administrator (internal to Bridge).| |worker|A Sage Bionetworks worker process (internal to Bridge).| Values: "developer","researcher","admin","worker"
The refKey
of this object will refer to the key
value of an AssessmentInfo object in the assessments of the timeline. The instanceGuid
is a unique GUID to identify any data that is generated from the execution of this scheduled assessment. This allows scientists to contextualize data based on when it was gathered in the execution of the study’s schedule.
An individual session instance the participant should perform as part of the study. The refGuid
property will refer to a session in the list of sessions in this timeline. The instanceGuid
is a unique GUID to identify any data that is generated from the execution of this scheduled session. This allows scientists to contextualize data based on when it was gathered in the execution of the study’s schedule. Further details about how a client should interpret a timeline can be found at the Bridge developer portal.
A pointer to an upload schema defined for this survey. This schema represents a particular task or activity that the participant should perform, and tells the app which schema ID and revision number to associate the data upload with. If the revision number is set to null when creating a schedule plan, then the reference is to the most recent revision for the given OS and app version. The specific revision number that should be used will be resolved when a #ScheduledActivity is created for the participant).
Information about a session in order to render it in a UI prior to execution.
|Enum|Description| |---|---| |no_sharing| Do not share data generated by this participant with the study team;| |sponsors_and_partners|Share data with the study researchers and their researcher partners only;| |all_qualified_researchers|Share data with researchers who qualify under the specific governance qualifications to access the study's data set. This may include researchers beyond the sponsors of the original study.| Values: "no_sharing","sponsors_and_partners","all_qualified_researchers"
|Enum|Description| |---|---| |email_password| Study expects participants to sign in with an email address and a password. | |phone_password| Study expects participants to sign in with a phone number and a password. | |external_id_password| Study expects participants to sign in with an external ID and a password. | |email_message| Study expects participants to sign in by sending an email message to the participant’s email account with a sign in code or sign in link. | |phone_message| Study expects participants to sign in by sending an SMS message to the participant’s phone number with a sign in code or sign in link. | Values: "email_password","phone_password","external_id_password","email_message","phone_message"
A study (an outside organization providing participants for a study).
Activity event for a participant in a specific study, used for scheduling activities.
Information about a study burst from which some of the timeline is being derived.
An abridged study object with information that is useful for displaying, selecting, and signing into the study.
StudyParticipant payload. The Participant API supports sparse updates, so most fields in this class are marked as EncodeDefault.Mode.NEVER.
A lifecycle phase for the study. |Type|Description| |---|---| |legacy|If not set, the study is in the LEGACY phase, and no domain logic will be applied to the study, enrollments, etc.| |design|Study is being designed and tested and has not begun. All accounts created in this phase are marked as test accounts, and schedules are still mutable. The study is not visible in public registries.| |recruitment|Study has launched and is visible in public registries, and accepting new participants through some form of enrollment. The schedule is published when the study is transitioned to this phase, and can no longer change.| |in_flight|The study is no longer accepting new participants, but participants are still active in the study. The study is no longer visible in public registries and will no longer accept new sign ups.| |analysis|All participants have completed the study protocol, and the data is being analyzed. For IRBs, this study is still open and it should still be available in administrative UIs for reporting, but no mobile or desktop participant-facing client should be engaged with the study.| |completed|Analysis has been completed and the study has been reported to the IRB. The study can now be logically deleted.| |withdrawn|The study was withdrawn before completion. It can be withdrawn from any other phase, and at that point it can be logically deleted.| Values: "legacy","design","recruitment","in_flight","analysis","completed","withdrawn"
A pointer to a survey defined for this app, and associated with a survey to be taken as part of the mobile application health study. If the createdOn
value is null, then the reference is to the most recently published version of the survey (the specific version that should be used will be resolved when a #ScheduledActivity is created for the participant).
A detailed description of when a participant should perform specific sessions and assessments as part of a study, along with the metadata to show UI to the participant before loading and executing code for the assessments.
A record of a complete consent (including both the dates of consent and withdrawal, if applicable);