# Overview

It may be useful to increment counters in a case values, the typical example being the number of Ante Natal Consultations (ANC) or Post Natal Consultations (PNC) a patient received. The case stores the number of consultations received and each form stores a number of the consultation received at that time. Such counters are implemented with a couple of hidden form values and a single case value.

Staying with the ANC example, the form has these hidden values:

- Use a hidden value called
`/anc/previous_anc_number`

to get the number of ANC already received by the patient. If the patient is experiencing her third ANC, this value is 2. Load this hidden value from the case property called`anc_number`

- Use another hidden value (
`/anc/anc_number)`

to compute the current ANC number`by`

adding 1 to`/anc/previous_anc_number`

- Since
`anc/previous_anc_number`

can be blank in the case of a first ANC, we need a more complicated Calculate Condition of`coalesce(/anc/previous_anc_number, 0) + 1`

- We then save /
`anc/anc_number`

to the case, using the case property name`/anc/anc_number`

`Explained Step by Step`

To count or keep track of ANC visits in follow-up forms, do this…

- Create Hidden Value
**/data/previous_anc_number** - Create Hidden Value
**data/anc_number** - In
**/data/anc_number**, give condition coalesce(/anc/previous_anc_number,0)+1 - Go to the Case Management tab for this form
- Under
*Save data to the following case properties,*save both**/data/previous_anc_number****/data/anc_number** - Under
*Load the following case properties into the form,*load**/data/anc_number**as the Case Property and**/data/previous_anc_number**

Why do it like this?

- The hidden value,
**/data/previous_anc_number** - The hidden value (/data/anc_number) is used to compute the current ANC number by adding 1 to/data/previous_anc_number
- Since data/previous_anc_number can be blank in the case of a first ANC, we need a more complicated Calculate Condition of coalesce(/data/previous_anc_number, 0) + 1. Therefore, during the first visit, when previous_and_number does not have a value, it will be replaced by 0.
- We then save
**/data****/anc_number****/data/anc_number**

You can think of it like this…