Wait until we solve #543 properly before we can call the translation done.
Decide that we don't really need the above variables for at least the initial run of the study.
Use the "denormalised view" trick for these tables with a view to doing it properly later (possibly giving some suitably off-putting name to these views to make it clear they are only temporary).
As mentioned here we're going for option 3 but without the off-putting name because, although we'll probably revisit this, this is going to be longer lived than just a quick temporary workaround.
This is the immediate practical compliment to the more abstract question raised in:
543
The current comparative booster study involves a few cases of non-patient data, specifically data associated with patients' registered addresses and registered practices: https://github.com/opensafely/comparative-booster/blob/48dd15683e0d0c75e048c7b429e0372373a86145/analysis/study_definition.py#L250-L326
As regards
463
I think we have three options:
Wait until we solve #543 properly before we can call the translation done.
Decide that we don't really need the above variables for at least the initial run of the study.
Use the "denormalised view" trick for these tables with a view to doing it properly later (possibly giving some suitably off-putting name to these views to make it clear they are only temporary).