cph-cachet / carp.core-kotlin

Infrastructure-agnostic framework for distributed data collection.
https://carp.cachet.dk/core/
MIT License
21 stars 3 forks source link

Endpoints to edit staged participant groups #319

Open Whathecode opened 3 years ago

Whathecode commented 3 years ago

The backend now has the notion of "staged" participant groups: sets of participants with assigned master devices before they are deployed. https://github.com/cph-cachet/carp.core-kotlin/issues/255

But, we are still missing endpoints to add/remove/change device assignments in the application service.

Whathecode commented 2 years ago

Once these requests are introduced, RecruitmentService.inviteNewParticipantGroup should be marked as deprecated. The concurrent implementation can lead to errors when the dependent DeploymentService is down. Eventual consistency should be used instead (#295).

yuanchen233 commented 1 month ago

I'm not very clear with the plan for staged participation group, it seems to me this notion have 3 purpose:

  1. keep track of all deployments of the current study: Recruitmetn.participantGroups
  2. manage participant groups before they are invited, and keep data like AssignedParticipantRoles or connectedDevicePreregistrations
  3. hold personal information: #479

For (2), those information should be removed after the group is invited, since Deployment is then responsible for role/device assignments. For (3), it sounds redundant with Deployments.ParticipantGroup, since it contains consent and participant data, but we also have issue on #464

Other things to consider: