Bulk User Upload - CHWs and Supervisors

I am trying to bulk upload chvs and supervisors but am having some issues. If you look at the tab titled contact.supervisor, you will notice that column E shows a dropdown list of catchment areas instead of health facilities .According to the instructions in this documentation:

  1. I duplicated the contact.chw and contact.chw_V_LOOKUP tabs and created contact.supervisor and contact.supervisor_V_LOOKUP.
  2. I then proceeded to add the health facilities under contact.supervisor_V_LOOKUP.
  3. I then created the supervisors under contact.supervisor but cannot choose the health facilities. The catchment areas appear in the dropdown instead of health facilities.

Here’s the link to the spreadsheet.

Hi @iesmail,

You duplicated contact.chw to contact.supervisor, but the options remained the same as CHW. You can perform these extra steps to get the supervisor options:

  1. Select cells E2 through E1000 → Right-click → View more cell actions → Data validation
  2. In the Criteria, change the range from:
  3. Click on Save

Now, you should be able to select from the list of health facilities.
You might also need to change some other fields to such as role, type to match the values required at the supervisor level.

We are sorry for the confusion. We should have made it clearer in the guide.


@binod, thanks. I followed your instructions and was able to view the health center.

After creating the chvs and supervisor rows, how do I then associate chvs to a supervisor in the same sheet before uploading to cht?

I have not tried it myself but I think these steps should work:

  • After making sure everything is alright, download the CSV with the supervisors’ details.
  • Upload it using the import utility.
  • If successful, your catchment areas and supervisors should be added to the CHT.
  • Update the contact.chw_VLOOKUP sheet with the new catchment areas and their UUIDs.
  • Now in the contact.chw sheet, you can select supervisor areas that will associate your CHWs to the Supervisor Areas.
  • Make sure that all the required fields are populated in the CHW sheet, download, and upload it using the import utility again.

Thanks for jumping in and helping out @binod - you beat me too it :wink:

@iesmail - let us know if you have any further issues!

1 Like

Want to do bulk user upload of CHVs and CHV Supervisors
The hierarchy for CHVs is National → County → Subcounty → Link Facility → CHV Area → CHV
I have already created places for National → County, thus need to create Subcounty → Link Facility → CHV Area → CHV

From the instruction here How to bulk load users | Community Health Toolkit, I need to create a set of the pair per level of your hierarchy, which means 4 pairs, 8 worksheets in total.

I have seen I need to provide Place UUID for each of the places, which I think means I have to create all the places before creating the users, otherwise not sure where I get the place UUIDs

Does it mean I have to create the three places (National → County → Subcounty → Link Facility → CHV Area) to get the UUIDs?
Please advise

This is correct @oyierphil, the place needs to be created before the associated contact so that you can use the autogenerated UUID of the place in the contact document. This process is done from the highest level of the hierarchy going downwards so that the children can have ancestor UUID details.

Thank you, working on the first document, sub-counties and checking on the following function for creating passwords:
=IF(AND(M2 <> TRUE, NOT(ISBLANK(D2))), makePass(), “”)

It seem not to work, any ideas

It would be difficult to troubleshoot this formula without access to the spreadsheet. However, any random character generation formula can work. This guide has some useful samples to borrow from:

@oyierphil we specify a working spreadsheet in the docs:

We have made available a spreadsheet compatible with the default configuration of the CHT and we will be using it as an example in the instructions below. Click here to make a copy of the spreadsheet in Google Sheets.

I just made a copy of this spreadsheet and confirmed the password generation function makePass() is working. Can you check which changes you might have made between a clean copy and your current version?

Maybe you can post an empty copy of your spreadsheet with no user data in it?

TIL the contact templates have a password generation utility. Thanks @mrjones!

I may not write JS often, but when I do, I’m sure to do it in an obscure spreadsheet :joy: !

1 Like

I have updated the spreadsheet for my testing use case, subcounty focal persons under (National → County → Subcounty), thus created six sheets following the guide, it says place doesn’t exist thus hasn’t created the users, my homework continues tomorrow morning, will appreciate any insights, actual data collections starts on Monday and I have about 1,800 accounts to create, the reason of exploring this option

Default Config User, Contact & Place Templates_Subcounty Places_ALL_Test_V2.xlsx - Google Sheets


I have used a function in Excel to generate passwords, now getting the error, Wrong type, this is not a person, which I sorted by changing contact.contact_type with the hierarchy place, subcounty_focal_person, then it was successful

Had manually created all the second hierarchy places, the Subcounties below the national office, but none of the users can login using the username and password created
Checking on the appsettings, I see the place is not populated as below:

Figuring this out, will appreciate any insights

Did you manage to upload your users, I could benefit from your experience
Our configuration uses custom types: County → Subcounty → Link Facility → CHW Area, before we create users, CHW supervisors and CHW

The instruction, Copy the “contact.chw” and “contact.chw_VLOOKUP” worksheets so that you have a set of the pair per level of your hierarchy. If your hierarchy was “Central → Supervisor → CHW”, you would have 3 pairs (6 worksheets total). Be sure each worksheet is named accurately.

In my case, 4 levels (County → Subcounty → Link Facility → CHW Area) means 8 sheets, do we have to create the places before? Got the impression you can create both the places and people, tried but don’t have results yet

Anyone who has done this before to share some insights? Had taken a break today, will resume tomorrow afternoon, thank you

@oyierphil I believe the reason the users’ places aren’t being created because the spreadsheet is missing one additional worksheet per level of hierarchy that maps the places types’ names to their respective UUIDs. Without this information, the users’ places cannot be created.

In the example spreadsheet @mrjones shared, there is a third worksheet named place.type_VLOOKUP and this is what allows the spreadsheet to understand what District and Health center relate to. In your case it would relate to MKS or National Office.

We have a call scheduled later today where I will help you work through this and I will update the documentation later this week.

Thanks a lot for your patience and for bringing this up to us

@mokhtar, thank you, the challenge I had is the number of sheets vs the hierarchy levels
Using @mrjones example, I picked District and Health center and Clinic as places and CHW as a user, yet I only saw three sheets, looking forward to the call

@oyierphil - thanks very much for the call today! It was great to debug your situation real time.

I’ll offer what I saw as the resolutions we found during the call - I’m open to updates and corrections!

  • most importantly, we need better docs on bulk user upload, specifically around the difference of creating a new place or re-using an existing place. I’ve filed a ticket track this!
  • During the Google sheet download → Import into Microsoft Excel → Debugging → Testing process, a lot of the data validations on the original Google sheet had been lost
  • It was not clear how to create the upper users in a hierarchy - current recommendation is only use the bulk upload for when you’re creating more than ~5 users.

At the end of our call, having resolved all the issues above, you were able to import users. Hurray!

Please let us know if you have more issues with this.


@oyierphil @mrjones

Agree that there’s a big gap between the current documentation and what actually works.

This is what I got working for Echis V2: Echis V2 Bulk User Import Template - Google Sheets

Hey @rmayore ,bulk load users documentation was updated. Kindly let us know if the gaps have been filled and if we need to add any other items.