I have some a project about a group that have the process:
After a regular Joomla registration (just maybe name, last name, username and password) the user needs to get back and fill another application (that only registered level could see)
At the application the user would give:
Access level that he should have (pre-set by a list. Example: A, B, C, D, E), where he live (Country, state, city from an existent database), and location of the institution that he/she go (Country, state, city from an existent database)
When the user fill the application, the person would be in a waiting pool of the level that the user stated he belong to...
Now another user ALREADY VERIFIED AND WITH ACCESS level will verify the information of all the user that belong to the level (Level A,B, C,D, E) of his care and geography location...all done at the front side of Joomla.
Once the user is verify and all the information is correct the user would receive an "active" status and could get access to the group that belongs.