Research Package

pub package

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:

To find out more visit Research Package's website.

Getting Started

Research Package is published to Pub: pub package

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:

import 'package:research_package/research_package.dart';

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 RPUIVisualConsentStep).


Visit the website of the project at for more information and tutorials.

You can find the API documentation generated for pub here.

Example application

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.

Current stage

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
  • Integer

Use Cases

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.


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. [...]