Enumerate the HH before data collection, and create a numeric field to let data collectors enter HH# manually as per enumaeration list. Prefix this no. with an ID string generated using other relevant variables in your survey using the concat() function. If you don't want to enter HH# manually for including in the ID, you can try using uuid() function to include alpha-numeric UUID in your ID string.
@gerald_thomas The calculations shown in this snapshot can be used for including an auto generated ID in your survey that utilizes uuid() function. See how 'pkey' variable, the primary key in this example, is generated using concat() function - concatenating the auto generated random uuid string (learn more about UUID here) with other variable values of concern. Variable Q1c, Q1d, and Q1e are the variables of concern, storing Facility name, District, and Sub-District name in this example, and you can see how they are supplied as input parameters in the concat() function to generate required primary key string.