If you want to use CommCare to track information about something over time, you will be using case management. Case management allows both the frontline workers (FLWs) and field coordinators to track data about a specific case over time.
Case Management Handout
For a simple overview of case management, see this presentation, which can be easily printed and shared.
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 anydata 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
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
CommCareHQ 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.
You can now make subcases using CommCare. 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 subcases here.
For an more in depth overview of Case Management in CommCare, please refer to this presentation: Case Management.pptx