Case Management Overview
CommCare is widely known for its offline Case Management capabilities. These Case Management capabilities go much deeper than the ability to register a beneficiary and then having the ability to follow up on them over time without having to worry about internet connectivity. It is this depth that makes CommCare so effective in the field. To appreciate this depth we invite our partners to answer the following questions candidly.
What is a case?
A case in CommCare can be literally anything that you want to track and monitor over time. Some common examples are:
a patient with whom a health worker will have repeated visits
a farmer's field over the course of a growing season
a classroom that needs to follow a specific curriculum.
How does Case Management Work in CommCare?
Let's consider a specific example, where the case we want to follow is a patient being tracked by a community health worker (CHW). A typical sequence of case management actions would be as follows:
During the first field visit, the CHW will register a new case for the patient by filling out a registration form. A registration form is, by definition, a form that opens a case.
Once the registration form is complete, CommCare will add the patient to a case list. In this instance, the case list is a list of all the patients registered by that CHW.
After that point, any other forms that are relevant to the patient can be filled out by first selecting the patient case in the case list, and then selecting the desired form. Such forms are called followup forms, and will have the ability to do 2 key things:
Access any data that was previously saved about the case.
Update or add to the information about the case that is saved.
If a CHW wants to fill out a followup form, he/she will be prompted to select which patient to follow up with by selecting a case from the case list before entering the form. Followup forms require a case to have been selected, and cannot be opened without one.
Selecting a patient will bring up a case detail view. Unlike the case list, the case details will only display information for the one patient you have selected, and will give more in depth details about this patient's case data. By pressing OK or the center button, the CHW can proceed to the form.
Any registration form or followup form allows you to select which information about that patient will be relevant in the future, by allowing you save data from the form to the case. Any value filled out in a form that is saved to the case is called a case property. A case property can be accessed and used later in a variety of places and ways:
A case property can be referenced in a later form, to do things like create skip logic or validation logic
A case property can be displayed in a case list or case detail
A case property can be used in a display condition for a menu or form
Offline Case Management (Mobile Only)
While all of the information you record in a registration form will be uploaded to the CommCareHQ server, data tagged for case management (i.e. case properties) will also be stored on the phone. This means that you don't need to sync with the server in order to fill out other forms for the same case on the same phone. And any further forms you fill out for the same case will in turn update the data that has been saved to the phone about that case. This is very helpful when working in low connectivity areas.
Menus and Case Types
CommCare allows you to define only one case type per menu. Once a menu is assigned a case type, all forms in that menu will refer to cases of that type. Each menu can have a registration form that is used to open cases of that type, as well as any number of follow-up forms that pertain to that case type. The menu will have a single case list that displays all the cases available on the device of that type, and allows users to select a case for which to fill out a follow-up form.
You can also have multiple menus for the same case type, and split the forms for that case type up amongst them, if that is your desired app workflow.
Some applications may want to track multiple different types of cases. For example, you may want to register TB patients as different types of cases from HIV cases. To do this you must have 2 different case types defined in your app, and then create separate registration forms for those 2 case types that live in separate menus in your app. That way, you will have 2 different case lists in 2 different menus; your TB patients will show up in the case list under the TB menu, and your HIV patients will show upin the case list under the HIV menu.
Referrals
If you're interested in workflows that support referrals, follow this link: Referrals.
Child Cases
Subcases are cases that are created using the case properties of another existing case, and/or with a relationship to another existing case. Read more about child Case here: Child Cases.