EDIT: Want to clearly state that I think it's horrible that people are being held past when they should be. The below is more of devil's advocate view of the problem. /EDIT<p>To add a slightly contrarian perspective, this reminds me of what I think was an old HN discussion about payroll systems.<p>One of the comments was along the lines of:<p>BEGIN QUOTE<p>You think it's "just payroll"? What about the following:<p>- The person who gets paid at 6/11ths of wage because there is a split contract<p>- Or the guy who gets three pay checks because he retired so gets a pension, is a contractor and is working for two different departments?<p>- etc<p>END QUOTE<p>The point being, these things sometimes seem simple but can get astoundingly complex very quickly.<p>Case in point: the system is designed to track gang affiliation, personal property and health issues.<p>What about the guy who is in a gang now but was in a different gang last year? And his stuff is in another block because his block's storage area is full? And he can't take the top bunk because he has gout(or diabetes etc) and can't climb anything?<p>And what if even with a perfect gang tracking system, you don't have enough "bins" to actually separate everyone who should be separated? How do you account for that in the system? Where do you track the "gang pairing priority list"?<p>And I know what some folks will say: "Yeah, that's just a rules engine that you keep separate from the code. Easy!" Ok. So how do you version control the rules engine? Do you build a dryrun option to see what a small tweak to the rules do? In my experience, probably not.<p>Long story short, jails are incredibly complex environments with a multitude of complex dimensions to account for. If you are curious about this, I highly recommend reading "Jailhouse Doc" [0]. It's an incredibly insightful look into JUST the medical side of prisons.<p>[0] - <a href="https://amzn.to/2ZJnVZG" rel="nofollow">https://amzn.to/2ZJnVZG</a>