Want to create an ODK based Beneficiary ITN distribution system

1. What is the issue? Please be detailed.
Hi, Respected Teams;
I am working on an ITN mass campaign which has the following Phases:

  1. First, coupons are printed with a unique coupon ID and a QR code containing the coupon ID for binding it with the beneficiary.
  2. Household registration involves capturing the demographics of beneficiaries. like( name, martial status, family members).
  3. After entering the details, Scan the coupon and link it with the household beneficiary.
  4. Hand over the coupon to the beneficiary for the next phase of distribution.
  5. On the distribution day, the beneficiary presents the coupon at the distribution point. ODK Collect scans the coupon, and based on defined criteria, ITNs are provided to the registered household.
  6. At the end of the day, synchronize all data to the server from the respective mobile devices.

3. What have you tried to fix the issue?
I have tried to develop this cycle but did not succeed in it.

4. Upload any forms or screenshots you can share publicly below.
For now, I don't have any Forms

I would be grateful if the ODK community could help in proving the Code/Xlsform or any link where this whole process is developed. or in step wise.

Best;
Jibran Sohail

Have you built an XLSForm before? If you haven't, start with this your first form tutorial.

If you've built an XLSForm, perhaps you can share what you've built so far and explain what specifically you're having problems with.

Since this an ITN campaign where you have multiple encounters with a household, you'll likely benefit from using entities. Our entities tutorial can help you get started.

Finally, when you get a chance, please introduce yourself here. It helps build community!

1 Like

Hi @yanokwa;
Thanks for the reply... i have done a lot of development in xlsform. I have conducted so many surveys using the xlsform, you can say that I am a medium-level developer.

here are the updates I have done so far as of today:

  1. I have figured out the way of creating QRCodes in bulk in Excel using KU Tools this serves the purpose. ( Sample sheet is attached ) (done)

  2. I have created the HouseHold registration Xls form please find attached. (Done)

  3. When a team registers the beneficiary coupon-QR code will be bind with it. (done)

  4. Now, the next phase is, I want to get the beneficiary data by scanning the coupon (the primary focus is to work offline). the team will scan the provided coupon, he/she will get the registered Beneficiary details on the mobile screen and based on specified criteria ITN will be redeemed.
    ( on this phase I am stuck how would I do this part)

waiting for your kind Reply.

Testingbarcodev2.xlsx (40.1 KB)
QR Codes.xlsx (1.5 MB)
lease

You've made great progress!

Are you using Central? If you are, you can adjust your household registration form to write the household data to an entity list. Then you can pull that data in the household visit form. If you'd like an example, our entities tutorial does exactly that.

Hi;
Apologies for being delayed in the reply I was out of the office with limited internet connectivity.
Actually, I had not worked on the entity. I would be highly obliged if you could design something or update my previous thread attached forms it would be a great help.

Additionally, I am interested in hosting the server on my own premises. Using ubuntu. while reading the blog shared by you for entities, it says that I must have a domain name in order to host the server. will the localhost server run on this.

or if I use ONA server details like " https://odk.ona.io/ . will ONA supports the central?

kindly put some light on this as well.

waiting for the kind reply
best
Jibran

Have you tried the entities tutorial so you can build your own forms?

Ona provides an ODK-compatible service. It serves the same purpose as Central (e.g., it hosts forms and data), but it has different features. One of those feature differences is that Central supports Entities, but Ona does not (but I think they are working on it).

You can self-host Central on your own infrastructure, but you will need a fully qualified domain name (or subdomain). For security reasons, Central will not work on localhost or with just an IP address.

Hi;
Thanks for the guidance. Could you please help me with how I can fetch data from the CSV file (like name, age, CNIC) residing in the mobile based on the scanning of QRcode?
First; the registered beneficiary will give me the coupon on which the QR code will be written.
Secondly, when I scan that coupon it will fetch the data from an Excel/CSV file residing in the specified location of the mobile. and validated the data and the system will popup the message that this is a registered beneficiary.
Thirdly, shows how much bed nets need to be given to the registered beneficiary.
for every 1.8 family member 1 bed net to be redeemed.

please if anyone could help me out and wrote the prodecure along with the logic to in the attached file or create a new Sample xlsform which fullfill this criteria.

best
jibran
QR Codes.xlsx (1.5 MB)
Testingbarcodev2.xlsx (40.1 KB)

Dear Community still waiting for the solution.
kindly need your kind support.

Best
Jibran

If you already have registered beneficiaries data you can create a CSV that has the QR encoded value, plus the associated fields (name, age, etc), then upon scanning you can lookup the QR to retrieve these values, or show a note if they aren't registered.

You could also do this (and it would be easier as @yanokwa mentioned earlier) with entities, the first form would be for registering households & issuing the QRs, at which point you capture the details (or you can upload these directly to Central if you already have them), and the second form is your distribution system that scans the QR to check for registered beneficiaries and lookup the data.

Here is a simple modification of your form that takes the scanned QR value and looks up a CSV of registered beneficiaries. It will say if they are/aren't registered and if they are it will show some fields.

Testingbarcodev2.xlsx (41.9 KB)
reg_ben.csv (518 Bytes)

Dear ahblake;
Much apprreciated your efforts for helping me. this looks fine will work as per my need.
i just want to clerify two things

  1. where in my android mobile i will place this file? either it will be places manually on individual phones on some defined place?
    IF yes then : could you please tell me where should i place this file. " mentioned the complete Path if possible"

  2. should i use ODK collect application of should i use ODK-X application.

  3. will that path will be the same for all devices like ( samsung, Vivo, Redmi, Shark etc...)
    IF Not then how users woule get this file from the server so that errorless configurations could be made. and each user would get its assigned or defined file from server.

you made my day i am much much near to the system...

Best
Jibran

With entities there is no CSV to manage it's all in Central.

With a CSV attachment, it will be requested as an attachment to upload by Central for your form and when you sync the form to your devices it will also deliver the CSV to the device, there is no consideration of file path etc

This is all for ODK not ODK-X

Dear ahblake;
Much appreciated your efforts in helping. i have successfully configured the systemusing KoboTools for practicing purposes. while on the other hand i am also deploying the ODK central for later use. ( i will be keep on seeking help from you in case i got stucked at any point).
Using Kobo system is wokring as per my need. just one thing i need to geet additional is that
" if a beneficiary is already redemmed then system should show a message that " this coupon had already been redeemed" in system entry should not make for that coupon again"

you can use sheet which you have shared these are working fine.

reg_ben.csv (520 Bytes)
Testingbarcodev2 (2).xlsx (41.4 KB)

could you help me in this regards.
waiting for your kind response.
Best
Jibran

The example form I gave you already has an example calculation in ${calc_registeredYN} that compares the scanned QR value against the CSV to check if it is registered or not.

You can add a column to your CSV (or entity list) like redeemed with yes or no or true or false, or a date / blank. Then use a simlar calculation field to check the QR value against the redemption status in the CSV and use the result to set relevance on other fields (if redeemed = true, then show a note that says 'beneficiary has already been redeemed', else show the number of nets to provide and confirm received)

1 Like