model library

The domain model part of Research Package.

Contains the "building blocks" for creating surveys and obtaining informed consents. Holds the different types of result classes. Also responsible for the streams and BLoC classes to provide communication channels between different parts of the package. (BlocQuestion, BlocTask) For the UI representations of the classes visit the research_package_ui library.

Classes

BlocQuestion
The BLoC for the communication between the question container RPUIQuestionStep and the question body
BlocTask
The BLoC for the communication between the RPUITask and its steps RPStep.
CanSaveResult
A protocol to mark the Widgets which are producing RPResult objects. They all need to implement the createAndSendResult method
Interaction
Class representing an interaction with the app in the UI
ResearchPackage
Start class for this research_package library. Just create a singleton instance:
RPActivityResult
The result a RPActivityStep creates, populated with results, steptimes and interactions.
RPActivityStep
A concrete subclass of RPStep that represents a step in which a single Activity is presented to the user.
RPAnswerFormat
A base (abstract) class for different answer formats.
RPChoice
The choice object which the participant can choose during a RPQuestionStep with RPChoiceAnswerFormat.
RPChoiceAnswerFormat
Class representing an Answer Format that lets participants choose from a fixed set of choices.
RPCompletionStep
A step which can be used as a "Thank you" or completion step in a task.
RPConsentDocument
Represents the content of an informed consent document.
RPConsentReviewStep
The step for presenting the consent document for review and collecting the signature
RPConsentSection
A content section in a RPConsentDocument.
RPConsentSignature
Class representing a signature in a consent document
RPConsentSignatureResult
Represents a signature applied to a given consent document. It indicates if a given consent document has been signed by a user.
RPDataTypeSection
Class representing a specific data type being collected to be shown as part of informed consent.
RPDateTimeAnswerFormat
Class representing an Answer Format that lets participants choose from a fixed set of choices.
RPDirectStepNavigationRule
The RPDirectStepNavigationRule class can be used to unconditionally jump to a destination step specified by its identifier or to finish the task early.
RPDoubleAnswerFormat
Class representing an Answer Format that lets participants input a decimal number (double)
RPFormAnswerFormat
Class representing the Answer Format for Form Questions (Multiple questions at the same time on the same page)
RPFormStep
A RPFormStep is a special type of RPQuestionStep, used for presenting multiple questions on a single scrollable page.
RPImageChoice
The image choice object which the participants can choose from, during a RPQuestionStep with RPImageChoiceAnswerFormat
RPImageChoiceAnswerFormat
Class representing an Answer Format that lets participants choose an image from a set of images.
RPInstructionStep
A step which can be used to show instructions and other information to the participant. Usually it is used as the first step in a Task explaining the task.
RPIntegerAnswerFormat
Class representing an Answer Format that lets participants input a integer.
RPNavigableOrderedTask
The RPNavigableOrderedTask class adds conditional step navigation to the behavior inherited from the RPOrderedTask class.
RPNoResult
The result object of a step with no result.
RPOrderedTask
A simple linear task which implement the RPTask protocol. It shows the steps one after another without the option of going back or branching.
RPQuestionStep
Represents a RPStep holding a single question to be presented to the user.
RPResult
The superclass for results. It defines the attributes which all the more specialized results classes should have.
RPSignatureResult
The signature used in RPConsentSignatureResult
RPSliderAnswerFormat
Class representing an Answer Format that lets participants use a slider to choose a value.
RPStep
The base class for steps which can compose a task.
RPStepJumpRule
A navigation rule which maps from an answer to a step. If an answer value is specified then the survey jumps to that question if chosen. E.g.
RPStepNavigationRule
Super class of the navigation rules. Do not use this type, only sub-classes. Extend this to create a custom navigation rule.
RPStepReorganizerRule
Reorganizes the survey steps and removes all steps that arent specified by the reorderingMap. The survey will then go to the specified step
RPStepResult
The result from a RPStep.
RPTask
The RPTask class defines a task to be carried out by a participant in a research study.
RPTaskProgress
Simple class for keeping track the progress of the task. It contains the number of the current step and the total number of steps.
RPTaskResult
The result object a Task creates
RPTextAnswerFormat
Class representing an Answer Format that lets participants input a number (integer)
RPTimerStep
A step where the user is forced to wait for timeout before being allowed to proceed to the next step.
RPVisualConsentStep
The step used for presenting the consent document to the participant
StepTimes
A class representing the times of each stage of the test.

Enums

RPChoiceAnswerStyle
Available types for RPChoiceAnswerFormat
RPConsentSectionType
Enum containing the available types for RPConsentSection.
RPDateTimeAnswerStyle
For choosing Date, Time or DateAndTime sub-answerformat
RPQuestionType
RPStepStatus
Status of a RPStep. Used in the Bloc so the Task Widget is notified about step navigation.

Properties

blocQuestion BlocQuestion
The singleton object of the question BLoC class which can be accessed throughout Research Package.
final
blocTask BlocTask
The singleton object of the task BLoC class which can be accessed throughout Research Package
final