Research Package 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.
Research Package 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 Research Package 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.
- Supporting localizations of surveys and informed consent.
Research Package is part of the overall Copenhagen Research Platform (CARP) with also provides a Flutter package for mobile and wearable sensing called CARP Mobile Sensing. The Pulmonary Monitor app shows how mobile sensing can be combined with collection of survey data from users.
There is a set of tutorials, describing:
- the overall software architecture of Research Package
- how to create an informed consent flow
- how to define and run user surveys
- how to enable localization
The Research Package Flutter API is available (and maintained) as part of the package release at pub.dev.
There is an example app which demonstrates the different features of Research Package 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 an important component in the Copenhagen Research Platform (CARP), which is used in a number of applications and studies. The current project maintainers are 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 enhancement and quality assurance (bug fixing), we welcome input on new answer types.