I need help about structuring and linking modules

Thanks Cody Stahl for your help but I can try to write the whole workflow of the TB App I have been assigned to build, but Iam new to commcare.

How should I structure this app and link modules. Iam reading commcare documentation but now it’s being difficult for me

I. There are two Tb cases that are to be registered:

  • index case (person who has Tb already identified) and their contacts in a household, but the community health worker doesn’t have to register the household’; They must register only the index case and their contacts. If contacts are children over 1 and under 5 years, they are referred immediately to health facility and start isoniazid preventive treatment for tuberculosis
  • Suspected case (a person not living with the index case who is thought of having Tb symptoms). The contacts of a suspected are not registered.

II. Follow up with the contacts of the index case and the suspected case during 5 visits. If in one of the visits, the contacts show signs of tb, then they are referred to a health facility for test where the CHW will go and check the test result by a filling out a referral follow up form. If the test is negative, the CHW continues with the visits, but if the test is positive, the contact must be added to the index case list (people with TB) and start treatment.

III. lost to follow up (follow patients in the community)

I get stuck when it comes to linking modules.

Thanks in advance for any help from Commcare community


There are a lot of ways to structure the app you are describing, depending on your goals.

It sounds like there’s a lot of internal workflow complexity in the processes you are describing, but I’d probably focus on registering the Index Case in a module, and registering each Contact Case around them as a Child Case of that case, which you can then bring us as a list to follow up with each one separately as a separate workflow entirely. When someone changes from being a “Contact” to an “index” I’d just close the case and create a new one in the other module, rather than try to wire things up too much internally.

Personally, I wouldn’t worry as much in the short term about linking modules together or other highly detailed workflow tricks, all of which are designed to assist the user in identifying what to do next, or optimizing how many steps it takes to accomplish it until the core workflows exist as modules.


Thanks Clayton for your help.