Research Package

pub package

ResearchPackage is a Flutter package for building research study apps on Android and iOS using Flutter.

ResearchPackage is a Flutter implementation of the Apple ResearchKit available for iOS (just like ResearchStack is for Android). The overarching goal of ResearchPackage is to enable developers and researchers to design and build cross-platform (iOS and Android) research applications using the same codebase. The API and UX design of ResearchPackage follows the API and UX of ResearchKit almost 1:1 (with a few adaptations to Flutter, including applying more to a reactive programming model).

ResearchPackage is designed from the ground up to meet the requirements of most scientific research, including capturing participant consent, extensible input tasks, and the security and privacy needs necessary for IRB approval. The main features of ResearchPackage are:

  • Obtaining informed consent from participants, including support for a signature.
  • Creating surveys and questionnaires with a wide range of answer formats (e.g., likert scale, date pickers, image pickers, etc.), such as the WHO5 survey.

ResearchPackage is part of the overall CACHET Research Platform (CARP) with also provides a Flutter package for mobile and wearable sensing -- called CARP Mobile Sensing. By combining ResearchPackage with CARP Mobile Sensing, support for what is called "Active Tasks" in ResearchKit can be implemented.

ResearchPackage has a series of 8 cognitive tests as part of its library. Some of the cognitive tests are implementations of ReseachKit's "Active Tasks". Detailed information about the test is available online.

Documentation

There is a set of tutorials, describing:

The ResearchPackage Flutter API is available (and maintained) as part of the package release at pub.dev.

Example Application

There is an example application which demonstrates the different features of ResearchPackage as implemented in a Flutter app.

Who is backing this project?

Research Package is made by the Copenhagen Center for Health Technology (CACHET) and is used in a number of applications and studies. The current project maintainers are Barnabás Homola, Mads Vedel Saaby Christensen, and Jakob E. Bardram.

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. Besides general help for enhacement and quality assurance (bug fixing), we welcome input on new answer types.

Libraries

research_package
research_package_model
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.
research_package_ui
The UI library of Research Package. [...]