Application Design

Getting Started

There are several stages to the development of a CommCare application, with important questions to consider at each stage.

  1. What is the context of the project?

    1. Who are the beneficiaries?

    2. Who are the users?

    3. What are the data needs?

  2. Define the structure: menus and forms

    1. What are the major events (i.e. registration, monthly visits, meetings, etc.)?

    2. What is the structure of the community or intervention

    3. How can the structure be optimized for usability/help the mobile user?

  3. Define the content

    1. What will the multimedia content be?

    2. What counseling messages need to be included?

    3. What questions or calculations should be in each form?

Stage 1: Application Purpose and Requirements

When developing an application, the first step is to "define" the application. The worksheet walks through the major questions outlined above and is meant to get the app designer thinking about the possible structure of the app. It also helps to understand how complex the program will be, and what type of resources will be required (i.e. multimedia development, approval of health counseling messages, etc.). 

  • A copy of the CommCare worksheet is available here. Before you fill it out, please read the following instructions

  • En français: cliquez ici pour accéder la feuille de travail et les instructions pour le remplir.

  • En español: haga clic aquí para acceder a la hoja de trabajo.  Un ejemplo completo en español se encuentra disponible aquí.

 

See this video for more detail on completing the first worksheet:

Stage 2: Defining Your Workflow

In the next stage, it is important to dive into more detail about how to structure your application. Here are some the steps the field team takes at this stage:

  • Draw a schematic that shows the workflow of the application. Specifically, show the structure of the Menus and Forms and how you think the content should be best organized. 

  • Describe the purpose of each form as it relates to case management concepts. For each form consider how it relates to the life cycle/care cycle of that case of interest. 

Some specific questions for consideration:

  • What is/are the criterion/criteria for closing a case? 

  • Is an edit form is necessary or required?

  • If case sharing is required in the application, are there multiple workflows to illustrate?

Here is an example of a basic workflow mockup with some relevant questions:

See the CommCare General Workflow Suggestions for more detail on some of these issues. Other relevant context in CommCare Fundamentals - Applications and Case Management.

Stage 3: Defining the Application Content

After your overall concept and workflow have been defined, it's time to dive into the content. At this stage you can start to fill in the specific content of each form.

This worksheet can be a good tool for populating all of the information for each form and specifying how it will all link together. This Excel file can be an easy way to iterate on content and structure before starting to build the application.

Application Specifications ("Definitions") for Reference

After a prototype application has been developed form the work sheet, an Excel "definition file" can be exported form CommCare (see Export Form Contents). The definition file is an easy way to quickly iterate on an application, as it is in a familiar format (Excel).

Open Source Application Specs

 

Workflow Suggestions

Here are some common workflows and suggestions on how you can design an application to support them: