Cognition Package

pub package style: recommended github stars MIT License

Cognition Package is a Flutter package for building cognitive tests for study apps on Android and iOS built using CARP Research Package.

The overarching goal of the Cognition Package is to enable developers and researchers to design and build cross-platform (iOS and Android) cognitive assessment applications that rely on validated gold-standard cognitive tests. When combined with Research Package, Cognition Package meets the requirements of most scientific research, including capturing participant consent, extensible input tasks, and the security and privacy needs necessary for IRB approval.

Cognition Package is a Flutter implementation of a Cognitive test battery including 14 validated gold-standard cognitive tests spanning all 8 Neurocognitive domains:

  1. Sensation
  2. Perception
  3. Motor skills and construction
  4. Attention and concentration
  5. Memory
  6. Executive functioning
  7. Processing speed
  8. Language and verbal skills

Each test in Cognition Package is implemented as an RPActivityStep from Research Package. As such, they may be used inside an RPTask along with other types of RPSteps.

Each test consists of 3 key sections - the instructions for the test, the test itself, and the test results. Hence, each test includes 3 classes that defines it:

  1. The model class which extends RPActivityStep and defines the parameters available for the specific test (eg. length of the test, the amount of repetitions), as well as the function to calculate the final score of the test after it is run.
  2. The UI class which describes how the test is rendered on screen and the logic of running the test.
  3. The RPResult class which describes the data collected from the test and adds it to the list of all results from the task.

The current set of cognitive tests in the Cognition Package are:

  1. Multiple Object Tracking
  2. Corsi Block Tapping
  3. Verbal Recognition Memory
  4. Delayed Recall
  5. Flanker
  6. Letter Tapping
  7. Paired Associative Learning
  8. Picture Sequence Memory
  9. Rapid Visual Information Processing
  10. Reaction Time
  11. Stroop Effect
  12. Finger Tapping
  13. Trail Making
  14. Visual Array Change

Cognition Package is part of the overall CACHET Research Platform (CARP) which also provides a Flutter package for mobile and wearable sensing called CARP Mobile Sensing.


There is a set of tutorials, describing:

Example Application

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

In the example several configuration file can be found. A .env file has to be placed in the example folder for the application to work properly and the following constants has to be defined in this .env file:

URI = ...
ID = ...

These environmental variables are necessary to upload the data to the CARP server. If you want to use the example app locally, the .env is not necessary.

Who is backing this project?

Cognition Package is made by the Copenhagen Center for Health Technology (CACHET) and is a component in the CACHET Research Platform (CARP), which is used in a number of applications and studies. The current project maintainer is Ossi Kallunki.

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 cognitive tests.


Note that the tests in this package is subject to different copyright terms. You must investigate if you can use these tests for your specific purpose, and if you need to obtain a permission from the copyright holders.

In the table below, we have provided links to copyright statements (where applicable), which you may want to consult, if you're using a test. If it states (c) CACHET this implies that the test is designe by us, and hence copyright (MIT license) to CACHET.

However, as per the MIT license, this software is provided "as is" and in no event shall the authors (i.e., us) be liabable for any claim - including copyright issues - arising from the use of this software.

Multiple Object Tracking(c) CACHET
Corsi Block TappingPsyToolkit
Verbal Recognition MemoryMoCa
Delayed RecallMoCa
Flanker(c) CACHET
Letter TappingMoCa
Paired Associative LearningCambridge Cognition Ltd
Picture Sequence MemoryNIHTB-CB
Rapid Visual Information ProcessingCambridge Cognition Ltd
Reaction Time(c) CACHET
Stroop Effect(c) CACHET
Finger Tapping(c) CACHET
Trail Makingpublic domain
Visual Array Change(c) CACHET


This software is copyright (c) Copenhagen Center for Health Technology (CACHET) at the Technical University of Denmark (DTU). This software is available 'as-is' under a MIT license.


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