Connect Multiple Applications

This page is about designing a workflow with multiple applications in a single project. To learn how to install multiple applications on a single project space, see Installing CommCare on Android Devices.  

It is possible to have more than one application in a project space. This may be more convenient and sometimes using multiple apps is a good way to accomplish complex workflows.

For example, https://dimagi.atlassian.net/wiki/x/ITLKfw works not only within the same application but across all applications in the same project space.

All you need to do is make sure that the case type is the same.

Example 1: Multiple applications without case sharing

A project may have two applications that are not explicitly related to each other or connected. For example, a your project may have a set of Community Health Workers who specialize in malaria and a set that specialize in maternal health. You could have a separate application for each set of CHWs.  You may want to keep these applications in the same project space so that the same mobile user can use either application, and so that all of the web users have the same access to data from both applications in one place. 

In order to set up this type of cross-application case sharing you just need to make sure that the case type is used in both applications.

You would want to put applications in separate project spaces if you want to keep the data separate and accessible to different web users. 

Example 2: Case sharing across multiple applications

Overview

Imagine a project where Community Health Workers visit pregnant women and register them in their CommCare app. Nurses at the clinic nearby want to have access to a women with pregnancy danger signs so that they can follow up with them and update their own CommCare app with additional information. This project could have two applications; one for Community Health Workers, and one for the Nurses at the clinic.

How to set it up

Application 1: CHW app

Application 2: Nurse app

The CHW is meeting with pregnant women and registering them in her application. Her app may open new cases of the type "pregnancy." But any woman with a danger sign is supposed to be seen by a nurse. You would  need to save a case property like danger_sign = "yes" so that the Clinical app can filter against it and only show the relevant cases.

In the Nurse application you would set the case type to "pregnancy" and then on the appropriate module could use a case list filter that only shows cases for which danger_sign = "yes"

Now each time the CHW has a pregnancy case where danger_sign = yes, after syncing with the network it will be accessible via the Nurse application.

Notes:

  • The CHW and Nurse would need to be in a Case Sharing Group, and case sharing would need to be turned on for each application

  • Just as with any case sharing set-up, both phones must be synchronized with the network for the appropriate cases to show up

  • These applications must be in the same project space for case sharing across multiple applications to work