How to Scruct the allow to Person to Register

Hello,
I need to make it possible for the end user to select locations. These locations are accredited in predefined categories. For example: a laboratory is authorized to perform blood tests, and then the user can choose to have tests done there.

What’s the best way to structure this?
Category, Subcategory, and the professional as a product? Is it possible?
Any ideas?
Thanks.