Team Management
This page documents the Team Management subsystem in SureDrive — the interface for managing the persons, organisations, study roles, and team groups associated with a project. It covers the Angular route and controllers, entity models, role assignment, team import/export, and the geographic map view.
Overview
The Team menu is accessed via SureDrive → Team. It shows all persons and organisations belonging to the study with filtering and an optional map view. Team membership determines document visibility, workflow routing, and notification delivery for the project.
Key owning modules:
- UI:
suredms-web-client—network/study/team/ - Domain model:
suredms-common—PersonEntity,OrganizationEntity,PersonRoleEntity,OrganizationRoleEntity - Import pipeline:
suredms-parser—PersonRoleExcelSheet,OrganizationRoleExcelSheet(see Excel and Template Importers)
Angular Route
File: SC/suredms-web-client/src/main/webapp/app/js/state/app-states-network.js
State: app.network.study.team
Controllers and Services
StudyTeamController
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-team.js
The primary controller for the Team view. Responsibilities:
- Loads and renders the list of persons and organisations assigned to the study.
- Manages the filter bar: filter by person name, organisation name, person role, or country.
- Controls the map view toggle (
studyTeam.isMapVisible) and geographic filter toggle (studyTeam.isMapFiltersEnabled). - Multi-select mode for bulk operations.
- Triggers export via
studyTeam.exportToExcel()→ backend operationOPERATION_MOBILE_TEAM_EXPORT.
StudyOrganizationService
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-organization-service.js
Service for organisation CRUD operations on the study team. Handles adding, editing, and deleting organisations and their role assignments.
StudyTeamImportController
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-team-import.js
Manages the team import flow. Accepts Excel or CSV files and calls ImportStudyTeamFillerService to parse and populate person and organisation records from the uploaded file.
Study Roles
File: SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-roles.js
Manages study-level role assignment — mapping persons and organisations to roles defined within the project (distinct from system roles; see Role-Based Access Control). Study roles are the clinical trial roles (e.g., Principal Investigator, Monitor, Study Coordinator) rather than platform access roles.
Entity Models
PersonEntity
File: SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/PersonEntity.java
Represents an individual study team member. Key fields:
| Field | Description |
|---|---|
| Name | First name, last name |
| Contact email used for notifications | |
| Organisation | The organisation this person belongs to |
| Country | Used for geographic map filtering |
| Roles | List of PersonRoleEntity — study roles assigned within this project |
OrganizationEntity
File: SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/OrganizationEntity.java
Represents a study site or partner organisation. Key fields:
| Field | Description |
|---|---|
| Name | Organisation display name |
| Country | Used for geographic map filtering |
| Roles | List of OrganizationRoleEntity — study roles assigned to this organisation |
PersonRoleEntity and OrganizationRoleEntity
Define the study-specific roles assigned to persons and organisations respectively. Person and organisation roles are defined at the project level and can be imported/exported via the Excel pipeline (PersonRoleExcelSheet, OrganizationRoleExcelSheet).
Team Operations
Adding an Organisation
Add an organisation from the SureNetwork or create a new one. Assign organisation roles after creation.
Help file: Help/contents/Content_Repo/Adding-an-Organization-to-SureDrive_667385936.html
Adding a Person
Add a person from the SureNetwork or create a new contact. Assign person roles after creation.
Help file: Help/contents/Content_Repo/Adding-a-Person-to-SureDrive_667648183.html
Editing and Deleting
Inline editing of person and organisation name, roles, and country. Delete removes the entity from the study team (does not delete the underlying contact from SureNetwork).
Managing Study Roles
Help file: Help/contents/Content_Repo/Managing-Study-Roles-in-SureDrive_675184644.html
Create, edit, and delete study-level role definitions. These roles are project-specific and mapped to persons and organisations in the team.
Creating and Managing Team Groups
Help file: Help/contents/Content_Repo/Creating_and_Managing_Team_Groups_in_SureDrive.htm
Team groups define named subsets of team members for workflow routing and notification targeting.
Team Import (Excel / CSV)
Help file: Help/contents/Content_Repo/Importing-Team-to-SureDrive_670105653.html
Handled by StudyTeamImportController + ImportStudyTeamFillerService. The import file is an Excel workbook containing person and organisation tabs; the parser maps columns to PersonEntity and OrganizationEntity fields and creates or updates records accordingly.
The underlying Excel parsing is implemented in PersonRoleExcelSheet and OrganizationRoleExcelSheet in the suredms-parser module (see Excel and Template Importers).
Team Export
| Format | Operation Constant | Help File |
|---|---|---|
| Excel | OPERATION_MOBILE_TEAM_EXPORT | Exporting-the-team-in-SureDrive-to-an-Excel-file_670236684.html |
| CSV | OPERATION_MOBILE_TEAM_EXPORT (CSV variant) | Exporting-the-Team-in-SureDrive-to-a-CSV-file_675053597.html |
Map View
The Team view includes an optional geographic map that plots organisations and persons by country. Controlled by:
studyTeam.isMapVisible— toggles the map panelstudyTeam.isMapFiltersEnabled— enables geographic filter mode; clicking a country on the map filters the team list to that country
Optional filters: show study subjects, show staff members only.
Help Reference
| Topic | File |
|---|---|
| Using the Team Menu | Help/contents/Content_Repo/Using-the-Team-menu-in-SureDrive_667353097.html |
| Managing Organizations | Help/contents/Content_Repo/Managing_Organizations_in_SureDrive.htm |
Key Source Files Reference
| File | Purpose |
|---|---|
| SC/suredms-web-client/src/main/webapp/app/js/state/app-states-network.js | Route definition for app.network.study.team |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-team.js | StudyTeamController — list, filter, map, export |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-organization-service.js | StudyOrganizationService — organisation CRUD |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-team-import.js | StudyTeamImportController — Excel / CSV import |
| SC/suredms-web-client/src/main/webapp/app/js/network/study/team/study-roles.js | Study-level role assignment and management |
| SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/PersonEntity.java | Person domain entity |
| SC/suredms-common/src/main/java/com/sureclinical/suredms/entity/OrganizationEntity.java | Organisation domain entity |