You can use a special question type called a **hidden value** to store values from other forms and carry out calculations without it being visible to the mobile worker. The important field is the **calculate** field, which you can put calculation expressions. Some common examples include:

- Age in years: int((today() - date(#form//dob)) div 365.25)
- Age in months: int((today() - date(#form//dob)) div 30.4)
- Age in weeks: int((today() - date(#form//dob)) div 7)
- Estimated Date of Delivery (EDD) from Last Menstrual Period (LMP): date(#form//lmp + 280)*
- Summation of three questions: int(#form//question_one) + int(#form//question_two) + int(#form//question_three)

- You can put a display condition in a hidden value
The hidden value will hold the null value '' until its display condition is met. Once its display condition is met, it holds the calculated or loaded value.

- If you update the case from a hidden value, it will only update the case if its display condition is met.

For further guidance on doing calculations please see Hidden Values Tutorial Part 1: Adding Two Questions Using a Hidden Value and Hidden Values Tutorial Part 2: Calculations Using a Date.

Other calculations can be found on this page.

*EDD calculations: http://www.perinatology.com/calculators/Due-Date.htm and http://nrhm-mctsrpt.nic.in/MHFW/UI/FAQAnc.aspx