Generation of QR-codes inside the app; storage and transmission of information

1. What is the problem? Be very detailed.
Hello everyone,
I have been using your application for a long time, thanks for the functionality provided!
I have a few questions about whether ODK Collect has the following options (and if so, tell me more about it):
1. Generation of QR-codes inside the application (read data from some variable => received a QR-code)
2. Storing information about the stage of filling out the survey sheet (except for the method described in p.5)
To answer the question why I am asking all this, I attach a detailed description in p. 5.
2. What app or server are you using and on what device and operating system? Include version numbers.
I use the ODK on android. V.1.30.1
3. What you have you tried to fix the problem?
Described in p. 5
4. What steps can we take to reproduce the problem?
Described in p. 5
5. Anything else we should know or have? If you have a test form or screenshots or logs, attach below.
General information
There is a company that collects data on the current state of a certain job (which is performed by about 20 people). The workflow is described; the process can be roughly divided into 9 stages.
There is a task of collecting information about the status of work (important: most often employees do not have a cellular connection / Internet). To implement it, I chose ODK Collect.
Employees fill out a survey sheet and select the current stage of work, then this data goes to the Google Table. Finally, the data is analyzed by another team.
How the survey worksheet works now
The employee downloads the survey sheet (note: everyone downloads the same survey sheet).
After entering the application, a menu appears that corresponds to the current status.
How is the right menu selected? To do this, I calculate the status for each stage (this is a variable with the calculate $ {status} type).
As I said earlier, there are only nine statuses (stages). At the first stage $ {status_1} = 1, at the second stage $ {status_2} = 2…. , on the ninth $ {status_9} = 9. Accordingly, to move from the first stage to the second ($ {status_1} => $ {status_2}), I separately created the $ {final_status} variable, which stores the maximum status:
$ {final_status} = max ($ {last-saved # final_status}, $ {status_1}, $ {status_2},… $ {status_9})
Thus, the variable $ {final_status} allows you to go from the first stage to the second, from the second to the third, etc. (Note: since the questionnaire is filled out in stages, the first status when filling out is status No. 1, the last is status No. 9; you cannot start / end with another status).
What should be the survey sheet in the future
Let's say one employee starts filling out the questionnaire and stops filling it out at stage 4 (ie $ {status} = 4). Then the second employee should open his questionnaire and start filling it out from the status from which employee # 1 finished (ie not with $ {status} = 1, but with $ {status} = 4).
Employees cannot work from one device, each employee must work from his own device.
Thus, the task is: to save the status of one employee and transfer it to another employee (for example, using a QR code)
Hope to get feedback!