Skip to content

Add recruitment consent history

Bengfort requested to merge recruitment-consent-history into main


Until now, we replace the recruitment consent when a new one comes in. This is not ideal. Consider the following scenario.

  1. A subject gives recruitment consent
  2. We contact them
  3. Later they revoke their recruitment consent
  4. Then they complain/sue us because we contacted them in step (2)
  5. In step (4) we removed the old consent, so we cannot proof that we had consent at that time

My solution is to keep a history of consents in the ConsentRevision model.

Open questions:

  • Is this case even relevant? Is this a real issue?
  • The same issue also exists for deleted subjects. What can we do about that?
  • The data model is redundant: The latest revision is identical to the current consent. In my experience this redundancy makes everything simpler, especially as the revisions are read-only. But I am not 100% sure.
  • This change has a major impact on how we handle invalid consent documents: Previously we just deleted them, so all related consents were simply deleted along with them. Now we have to keep the invalid documents, just treat them as if they did not exist. I thought about ways around this (e.g. deleting the document and storing its name in the revision instead) but none of that seemed like a good fit. Is there a better solution?
  • An initial revision that describes the current state is created automatically. But the UI currently has no indication that we did not keep any records before that. Should we add something?
Edited by Bengfort

Merge request reports