Filtering Database by user group

I have created a table in the same database as the modx tables that records the contact details of people participating in community activities of a non-for-profit organisation. Users can access a pages on the front-end to view the contact details and add new contacts.

Now other communities within the same organisation also wants to use this database.

What is the best way to achieve the following:-

  • Use the same website and database for all the communities

  • Allow users from individual communities to only see contacts from their community

  • Allow some user’s (regional coordinators) to view contacts from all the communities within within their region

  • Allow all users to see generic data such as type of activities

I was thinking of creating context for each community and hope that it may be possible to run query to filter the contacts based on their context.

Is that the correct way to go or is their a better modx way to acheive this.