StudyService

interface StudyService : ApplicationService<StudyService, StudyService.Event>

Application service which allows creating and managing studies.

Types

Link copied to clipboard
object Companion
Link copied to clipboard
sealed class Event : IntegrationEvent<StudyService>

Functions

Link copied to clipboard
abstract suspend fun createStudy(ownerId: UUID, name: String, description: String? = null, invitation: StudyInvitation? = null): StudyStatus

Create a new study for the entity (e.g., person or group) with ownerId.

Link copied to clipboard
abstract suspend fun getStudiesOverview(ownerId: UUID): List<StudyStatus>

Get status for all studies created by the entity (e.g. person or group) with the specified ownerId.

Link copied to clipboard
abstract suspend fun getStudyDetails(studyId: UUID): StudyDetails

Gets detailed information about the study with the specified studyId, including which study protocol is set.

Link copied to clipboard
abstract suspend fun getStudyStatus(studyId: UUID): StudyStatus

Get the status for a study with the given studyId.

Link copied to clipboard
abstract suspend fun goLive(studyId: UUID): StudyStatus

Lock in the current study protocol so that the study may be deployed to participants.

Link copied to clipboard
abstract suspend fun remove(studyId: UUID): Boolean

Remove the study with the specified studyId and all related data.

Link copied to clipboard
abstract suspend fun removeProtocol(studyId: UUID): StudyStatus

Remove the currently set study protocol for the study with the specified studyId.

Link copied to clipboard
abstract suspend fun setInternalDescription(studyId: UUID, name: String, description: String?): StudyStatus

Set study details which are visible only to the study owner.

Link copied to clipboard
abstract suspend fun setInvitation(studyId: UUID, invitation: StudyInvitation): StudyStatus

Specify an invitation, shared with participants once they are invited to the study with the specified studyId.

Link copied to clipboard
abstract suspend fun setProtocol(studyId: UUID, protocol: StudyProtocolSnapshot): StudyStatus

Specify the study protocol to use for the study with the specified studyId.

Inheritors

Link copied to clipboard
Link copied to clipboard