Imputing cross conditional missing data in an "observation matrix" as input for further analysis


I have a nasty missing data situation. I’m trying to model some COVID outbreak data in long term care facilities.
For each facility, in a given moment in time, I have the number of residents divided into a matrix of vaccination status per diseases status (see picture)

Each cell has a count.

Unfortunately the data providers had a pretty liberal interpretation of blank cells, so sometimes they mean zero, sometimes unknown.

I tried my best to build a sudoku-like algorithm to fill the gaps using logical conditionalities whenever possible, but some cells still evade me. Since I’d like to avoid losing entire rows of data due to a missing value, I’d like to input the missing values, keeping track of the logical constraints.

For example, the number of symptomatic for a given vax category cannot be more than the cases in that category, as it cannot be more than the denominator.
Likewise, the number of symptomatics per vax category cannot be more than the total number of symptomatics minus the known number of symptomatics. Etc…

Is it possible to perform Bayesian data imputation with constraints like these? possibly in brms, otherwise also in stan.