Thanks for the invite yaw. Hi @RishikeshMishra, Yes I think this is a pretty common feature on odk compatible servers. Smap allows you to put forms into projects and then give access to users to projects. So you could have one project for nurses and another for doctors.
Smap does support assignment of tasks to individual users. Hence you could assign a task to the doctors to complete a md form. You can then assign a task to the nurses to complete a nursing form. What the user will then see on their device is that task rather than a form. By default once completed a task is removed, however you can specify that tasks are "repeating" in which case they can be completed many times like a form.
A task is actually an instance which in your example will probably be empty. The forms also need to be on the device in order to complete a task however for a project you can specify that the forms are hidden so that the doctors won't see the forms that the nurses are using to complete their tasks.
Tasks would require you to use a fork of ODK collect on your devices (fieldTask). You would also need to use Smap as your server.