[Membership] Change Member levels after subscription

Hi all,

I have a new question for you, and i think this one is pretty difficult.
My situation is as follows:

I have a SUBSCRIPTION level and it's a free subscription.
This subscription as TWO membership levels linked to it: BASE and PREMIUM.

Every user starts with the base level.
If a user wants to enter the PREMIUM LEVEL, he must to insert some additional information (like Work, Corporation etc.).

Membership doesn't manage this kind of upgrade, so i thought on a batch job that takes all the users from the database, checks the data they inserted and sets the correct MEMBERSHIP LEVEL.

I noticed in the database that there is the table "*_m_membership_relationships", which contains the relations between user_id and level_id, i can work on this table for upgrading users levels?

Do you have some better ideas to complete this task than mine ?

Thank you very much!!