Research Package is a Flutter package for creating surveys and obtaining informed consent containing models, UI elements and screens. The motivation is coming from two similar native libraries ResearchStack on Android and ResearchKit on iOS.
The main modules of the above mentioned libraries are which are also the main features of Research Package:
- Consent - How it's done in ResearchKit - Implemented in RP
- Survey - How it's done in ResearchKit - Implemented in RP
- Active Task - How it's done in ResearchKit - Can be implemented later with the help of flutter plugins by CACHET.
To find out more visit Research Package's website.
You can start using it by adding it to your dependencies.
After you run
flutter packages get command you are able to import and start using Research Package.
You can import the whole package including the Model and UI libraries:
Or with the following lines you can decide which library of the package you want to gain access to:
import 'package:research_package/model.dart'; import 'package:research_package/ui.dart';
Remember, that objects starting with
RP are part of the Model (like
RPConsentDocument) while those which start with
RPUI are part of the UI library (like
Visit the website of the project at researchpackage.org for more information and tutorials.
You can find the API documentation generated for pub here.
To get an overview of Research Package's features have a look at the example application here.
Similarity to ResearchKit and ResearchStack
Research Package is clearly similar to these two existent framework. A goal with the package was to help developers enjoy the same features with Flutter's cross-platform framework. The names, functionalities and most of the logic are similar or identical to the previously mentioned two framework. This way we believe that the transition for those who have used them before will be easier and smoother.
The project is work in progress. New Answer Formats are being added to the survey module of the framework constanly. The available Answer Formats are the following at the moment:
- Single Choice
- Multiple Choice
One of the goals for the package was to make it capable of handling a WHO5 survey. As an example at this point Research Package can obtain the informed consent from the participant, show the WHO5 survey questions and collect the results.
Who is backing this project?
Research Package is made by CACHET - Copenhagen Center for Health Technology.
How can I contribute?
We are more than happy to take contributions and feedback. Use the Issues page to file an issue or feature request.
In order to familiarize with the framework and potentially extend it, it might worth to have a look at these links about Research Kit and Research Stack.
- Official Tutorial on how to use ResearchKit in ObjectiveC You can get a good understading of the flow and the basic concepts. Also there's a useful presentation of the different AnswerFormats.
- Hierarchy of objects in ResearchKit This is a good representation of a possible file/class hierarchy for ResearchPackage.
- Tutorial on how to use ResearchKit in Swift
- Sample Apps for ResearchKit in Swift
- 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.
- The UI library of Research Package. [...]