The Application Building Learning Track will guide you through building basic CommCare survey forms to deploying complex applications that use case management.

After learning all of the material covered in this track you are eligible to take the App Building Capstone Exercise and become certified in CommCare Application Building!

Or go back to the CommCare Learning Tracks homepage to explore other tracks, or look at general questions about CommCare Certification.

Want to export this page for use offline?

You can export the contents of this page to a word or pdf file by clicking on the ellipses on the top right of the page, clicking on the second ellipses, and then choosing your preferred export option:

Overview

Is this the right track for me?

This track is appropriate for people that will design and build CommCare applications.

What will I learn?

After completing this track, a CommCare Application Builder will be able to:

  • Confidently navigate CommCareHQ and explain the basic function of each part of the website
  • Use the CommCare form builder to develop complex forms with multiple question types, skip logic, and validation
  • Use Hidden Values to perform moderately complex calculations
  • Understand the basic principles of case management in CommCare
  • Link forms and case properties using Case Management in CommCare applications
  • Be able to find additional information on complex features by using the CommCare Help Site
  • Demonstrate good practice in design of CommCare applications

Am I qualified?

Anyone can use the page to walk through application building, and you do not need any programming skills or experience.

We find that a good application builder has the following traits:

  • Very comfortable with use of the Internet
  • Proficient in English or French
  • Comfortable with use of Microsoft Excel or a similar product
  • Has experience using Android devices

Core Modules

The modules listed below should be reviewed in order. We recommend you open links in a separate tab, or download this guide so you can use it for navigation.

CommCareHQ Basics

CommCareHQ Basics Overview

This module provides a basic overview of CommCareHQ, including creating and managing a web account, navigating sections of CommCareHQ, using support resources, and configuring project settings.

Tutorial Available for This Module

You can learn everything in this module by completing the Beginner Tutorial.

This module requires completion of:

  • CommCare Fundamentals

 

Learning ObjectiveThe learner should be able to:Links
Create a CommCareHQ account
  • Complete the sign up process for CommCareHQ
  • Login to account
Beginner Tutorial Part 1 - Setting Up a New Project Space
Create a new CommCareHQ project space
  • Set up a new project space
  • Recognize what is allowed in a project space name
Beginner Tutorial Part 1 - Setting Up a New Project Space
Distinguish between a CommCareHQ account and a CommCareHQ project space
  • Explain the relationship between a CommCareHQ account and a CommCareHQ project space
  • Recall that CommCareHQ users can have access to multiple project spaces
CommCare Fundamentals - CommCare Structure
Describe each section of CommCareHQ
  • Locate each of the following sections of CommCareHQ: Dashboard, Reports, Data, Users, Applications, Exchange, Project Settings (also CloudCare and Messaging only if relevant to project)
  • Explain what information can be found and what tasks can be completed in each of the main sections (also CloudCare and Messaging only if relevant to project)

Beginner Tutorial Part 2 - Navigating and Preparing the Application Builder

Project Space Settings

Explain the purpose of the CommCare users forum and how to join
  • Explain the purpose of the CommCare users forum
  • Understand and provide examples of the types of questions that are asked to the users forum
  • Feel comfortable answering questions or sharing information when appropriate
  • Describe best practices and basic etiquette when using the users group (e.g. clear subject lines, starting a new thread for a new topic i.e. not using an existing thread to ask an unrelated question, etc.)
Home
Access and use the CommCare Help Site
  • Navigate the home page of the Help Site (menu, shortcuts, search bar)
  • Provide examples of the types of resources available on the Help Site
  • Complete a search for a problem or question they have (i.e. use the search bar to input a topic, select a topic from the auto-filled list or search for their specific topic, understand and select from search results, etc.)
Home
Report a bug or other technical issues
  • Provide examples of problems that should be reported to Dimagi through the "Report an Issue" feature
  • Report a bug or other technical issue within HQ, including knowing where the "Report an Issue" button is located, what type of information to include, how to inform other people, etc.
Bug Reports
Switch between project spaces
  • Use the project space dropdown menu to switch to another project space
  • Understand when to switch to another project space (i.e. under which circumstances to switch)
Project Space Settings

 

Form Builder Basics

Form Builder Basics Overview

Covers the basic use of the form building, including adding, removing, and changing common types of questions, changing order, adding basic display and validation conditions, and defining basic question content. The basic use of the application builder is also covered.

Tutorial Available for This Module

You can learn everything in this module by completing the Beginner Tutorial.

This module requires completion of:

  • CommCare Fundamentals
  • CommCareHQ Basics

 

Learning ObjectiveThe Learner Should be able to:Link to Resources
Recognize and explain the function of each part of the application builder
  • Recognize the following sections: Deploy, Settings, Multimedia, Languages, Application Structure, Actions
Beginner Tutorial Part 2 - Navigating and Preparing the Application Builder
Create a blank application
  • Navigate to the applications tab and click the link next to "make a new application"
Building A Blank App or Starting From The Exchange
Copy an application from the Exchange
  • Explain the purpose of the Exchange and how applications for the Exchange are developed
Building A Blank App or Starting From The Exchange
Describe the benefits and risks of using an application from the Exchange, and explain how you can find an appropriate application.
  • Look at key information provided in application description to ensure it matches your needs.
Building A Blank App or Starting From The Exchange
Change and save changes  application, module, and form names
  • Explain where to go to update each one of these
Beginner Tutorial Part 2 - Navigating and Preparing the Application Builder
Identify and explain the function of the different parts of the form builder
  • Recognize the Question Bar, Question Tree, and Question Properties sections
Form Builder
Add, delete, and change the order of questions in a form
  • Recall that there is no "undo" button
Form Builder
Explain the purpose of different question types and identify where to go for more information on question types
  • Use the Form Builder page on the help site for more information on each question type
Form Builder
Explain the role of Question IDs and what is/is not acceptable in one
  • Explain whether or not Question IDs are acceptable when given examples.
Form Builder
Add and edit label text
  • Distinguish between label text and the label question type
Form Builder
Distinguish between the form builder and the form settings page
  • Access the form builder by clicking on "edit" or the small pencil icon on a form's name
Form Builder
Test a form in CloudCare using the Preview Form button
  • Access the Preview Form from the Form Settings page
Using Web Apps
Make a question required and explain what that means
  • Describe possible drawbacks of making a questions required
Form Builder
Add a basic display condition using the Expression Builder
  • Define display conditions and explain how they works
  • Add display conditions to a form
Beginner Tutorial Part 5
Add validation conditions using the Expression Builder
  • Define validation conditions and explain how they work
  • Add validation conditions
Beginner Tutorial Part 5
Locate the Advanced Tools section of the Form Builder
  • Find the options for bulk translations, export form contents, etc.
Form Builder

 

Advanced Form Builder

You can learn everything in this module by completing the Hidden Value Calculations Tutorial.

Advanced Form Building and Hidden Values Overview

Advanced Form Building and Hidden Values covers the uses of hidden values and use of the advanced expression editor tool to build display and validation conditions.  The basic structure of "if" statements is also covered.

Tutorial Available for This Module

You can learn everything in this module by completing the Hidden Value Calculations Tutorial.

 

This module requires completion of:

  • CommCare Fundamentals
  • CommCareHQ Basics
  • Form Builder Basics

 

Learning ObjectiveThe learner should be able to:Link to Resources
Describe the possible uses of Hidden values
  • Store a value from another form, or from the case record
  • carry over specific data that are required in form exports
Hidden Value Calculations Tutorial
Use the Advanced Expression Editor tool to build display conditions or validation conditions
  • Recognize the limits to the types of expressions you can build using the CommCare Expression Builder
  • Recognize the importance of using the Advanced Expression Editor rather than writing directly into the question properties
Hidden Values Tutorial Part 1: Adding Two Questions Using a Hidden Value
Create basic calculation expressions in Hidden Values
  • Make calculations using values from multiple questions
  • Identify some of the supported expressions for basic math functions.
Hidden Values Tutorial Part 1: Adding Two Questions Using a Hidden Value
Perform a calculation with dates
  • Use date questions to make calculations
Hidden Values Tutorial Part 2: Calculations Using a Date
Describe the structure of basic "if" statements
  • Use the correct syntax for if statements: if(condition = x, then y, else z)
  • Find errors in incorrect if statements

 

Hidden Values Tutorial Part 3: If Statements
Display the output from a hidden value or previous question in the Label of a different question
  • Use output expressions to display questions and hidden values
Hidden Values Tutorial Part 4: Displaying an Output
Find additional functions that you can use in CommCare
  • Use the Help Site to discover other types of calculations and formatting that can be done
CommCare Functions

Case Management

You can learn everything in this module by completing the Basic Case Management Tutorial and the Advanced Case Management Tutorial.

Case Management Overview

Covers configuring case management in an application.

Tutorial Available for This Module

You can learn all the topics in this module by completing the Basic Case Management Tutorial and the Advanced Case Management Tutorial.

This module requires completion of:

  • CommCareHQ Overview
  • Form Builder Basics
  • Advanced Form Building

 

Learning ObjectiveDetailsLink to resources
Explain the different options for Form Action on the Case Management tab of Form Settings
  • Determine when to use: Form registers a new case, Form updates/closes a case, etc.

Case Management

Basic Case Management Tutorial Part 2- Registering a New Case

Configure a form to register a new case Basic Case Management Tutorial Part 2- Registering a New Case
Make a form require a case to be selected before opening it Basic Case Management Tutorial Part 3 - Updating a Case
Configure a form to close a case Basic Case Management Tutorial Part 3 - Updating a Case
Define a Case Type at the Module Level Basic Case Management Tutorial Part 4 - Module Case Management Settings
Save data to the case and explain the purpose of saving case properties from a form Advanced Case Management Tutorial Part 1 - Saving Data to Case Properties
Load data into a case and explain the purpose of loading case properties into a form Advanced Case Management Tutorial Part 3 - Case Management Window
Within a form, reference data that is loaded from the case Advanced Case Management Tutorial Part 4 - Referencing Data from the Case
Distinguish between the case list and case details Basic Case Management Tutorial Part 4 - Module Case Management Settings
Add properties to the Case List Case List and Case Detail Configuration
Add properties to the Case Details Case List and Case Detail Configuration
Configure the sorting of the Case List Case List and Case Detail Configuration
Configure a Filter for the Case List Case List and Case Detail Configuration
Correctly use the options for data type in the case list and details view(Plain, Date, Time Since or Until Date, Phone Number etc.)Case List and Case Detail Configuration

Application Design

App Design Overview

Covers best practices for designing an application from individual questions to the overall workflow, as well as important design processes like collecting user feedback.

Learning ObjectiveThe learner should be able to:Link to Resources
Design a workflow that is understandable by users and meets program requirements
  • Employ User-Centered Design to understand any existing workflows
  • Use the CommCare Worksheet or other application design views to describe and develop an overall application structure

Application Planning

Application Design

Collect, analyze, and use user feedback
  • Pilot early designs and prototypes with users to collect feedback
User Testing
Use appropriate project and application settings
  • Ensure that project settings are set appropriately
  • Recognize or be able to find information on all major Application Settings

Application Settings

Project Space Settings

Use Question Design best practices
  • Use descriptive, consistent Question IDs
  • Develop question labels that are clear and fit on the screen
  • Use appropriate validation conditions with helpful, actionable validation messages
  • Determine the best question type to use for each question (ex. interger vs decimal vs text)
  • Ensure that question types are appropriate for the selected device (no GPS questions for feature phones)
  • Minimize the use of text input type questions
Question Design
Use Form Design best practices
  • Use and test Display Conditions
  • Cluster related questions using Question Groups
  • Use hidden values to help users with calculations
Form Design
Use Case Management best practices
  • Use descriptive case types
  • Design case list and details to show useful information, use the best format available, and work well on the selected device
Case Management Design
Use appropriate multimedia where helpful
  • Incorporate multimedia for questions where useful
  • Ensure that media files work well on the selected device
  • Use icons and audio to guide users through an application
Multimedia Design
Ensure that the application is designed to collect data that is relevant for both reporting and for the user
  • Use hidden values to calculate data required for exports or reporting
App Design for Reporting

Advanced Modules

These modules are relevant to many but not all projects. They are required for a Certification.

Multimedia in CommCare

Multimedia in CommCare Overview

This module covers best design practices for developing multimedia content for CommCare applications, as well as the core skills for adding, updating, and managing media files in CommCareHQ.

This module requires completion of:

      • CommCareHQ Basics
      • Form Builder Basics
      • Advanced Form Builder and Hidden Values
      • Basic Case Management
      • Advanced Case Management

 

Learning ObjectiveThe learner should be able toLink to Resources
Identify the types of multimedia content that can be added to a CommCare application.
  • Identify supported multimedia content types
  • Provide the preferred formats for each type of media
Multimedia in CommCare
Understand best practices for multimedia use in CommCare
  • Describe the qualities of a good image for a CommCare app

  • Describe the qualities of a good audio clip for a CommCare app

  • Describe the qualities of a good video clip for a CommCare app

Images in CommCare

Playing Audio in CommCare

Video in CommCare

Upload a media file using the Form Builder
  • Add a media file for a question in the form builder
  • Validate that all media are correctly uploaded using the Multimedia Manager 
  • Recognize an error message which indicates missing media files
  • Respond to common errors associated with media files

Multimedia in CommCare

Skipping multimedia validation

Download and Install multimedia files
  • Download multimedia files from the Multimedia Manager or Deploy section of an Application
  • Explain how to include multimedia files when installing an application on either CommCare for Android or for Feature Phones


Android Online Install (with multimedia)

Installing multimedia (Java Phones)

Create and use form or module Icons
  • Select or create appropriate images based on module or form purpose
  • Upload an icon for a form
  • Upload an Icon for a module


Icons in CommCare

 

 

Applications in Multiple Languages

Applications in Multiple Languages Overview

This module covers all aspects of managing multiple languages in a CommCare application, including translation of form content, application-level text, and user interface strings.

 

The main section this module corresponds to is: Language configuration in CommCareHQ

This module requires completion of:

  • CommCare Fundamentals
  • Form Builder Basics

 

Learning ObjectiveThe learner should be able to:Resources
Add a new language to a CommCare application
  • Build an application that supports multiple languages
  • Change the default language of an application
Language configuration in CommCareHQ
Use the Bulk Application Translation upload feature
  • Understand that this can update almost every required translation in your application, including forms, app/modules, case list/details, etc.
Bulk Application Translations
Define and update User Interface Translations
  • Strings that are not part of the application content you developed (i.e. "save form and exit", "start")
  • Follow instructions to manually update UI translations, or use the bulk translation tool
User Interface Translations
Translate the Application, Module, and Form names, as well as the case list/details screens through the Application Builder interface
  • Choose the language you want to use from the side menu, then edit each form, module, or application name
  • Can also do this through the bulk application translation tool
Case List and Case Detail Configuration
Use the Form Builder Bulk Translation tool
  • Translate one form at a time using Excel to manage the translations
Form Bulk Translation
Explain what types of fonts are supported by CommCare
  • Font must be supported by the phone, and should be unicode
Local Language Support and Fonts
[Paid Feature] Manage Lookup Tables in multiple languages
  • Use Lookup tables in multiple languages
Using Lookup Tables with Multiple Languages

Advanced Application Building Topics

These advanced topics are often very important to a project; however because they are not relevant to every project they are no covered in detail here.

Advanced Features Overview

This module covers a variety of advanced, yet commonly used application building topics. These are not covered in any tutorials, but by following the guidance on the help site and trying them out you can gain experience in using them.

Learning ObjectiveThe learner should be able to:Link to resources

Use advanced configuration of the Case List and Case Details screens

 

  • Filter a case list to only show cases which meet a certain condition
  • Configure multiple levels of sorting
  • Explain how Fuzzy Search works
  • Use ID mapping and other advanced case list/detail "types"

Case List and Case Detail Configuration

Fuzzy Search

Use Child Cases (also known as Subcases)

 

  • Explain the parent/child case relationship
  • Provide examples of when using a child case could be useful
  • Use the case management configuration to open a child case
  • Reference parent case properties when working with a child case
  • Use parent/child case selection in a case list

Child Cases

Case List and Case Detail Configuration

Use Form Logic

 

  • Explain how form display conditions work
  • Create a form display condition
  • Recognize the different options for End of Form Navigation

Form Display Conditions

End of Form Navigation

Use Case Sharing
  • Define case sharing
  • Explain the behavior of cases that are shared across multiple applications in a project space
  • Set up an application and user groups for case sharing
  • Recognize the implications of case sharing for worker activity reports

Case Sharing

Worker Monitoring Reports

Multiple Applications in a Project Space

[Paid Feature] Use Lookup tables
  • Explain the purpose of lookup tables
  • Configure and update a lookup table
  • Add lookup table questions to a form
Lookup Tables

Application Building Certification

To get certified in CommCare Application Building you must:

  1. Learn all of the material associated with each of the modules listed on this page. Where available we recommend you complete the tutorials.
  2. Pass the test for each module.
  3. Successfully complete the Application Building Capstone Exercise

For more information please see CommCare Certification.

 

 

  • No labels

1 Comment

  1. Any idea of the average/approximate time spend to complete this track?