find many-to-many relationships not present

Models “Case” and “ProgressDate” in my app have a many-to-many relationship, with has_many :through via a third (call it “CaseProgressDate”) model. Objects of type “ProgressDate” have values like “Case Opened”, “Paperwork Received”, “Received Approval”, etc. Thus any Case might have 0, 1, or more ProgressDates - a calendar date (stored in CaseProgressDate) when the case was opened, paperwork received, etc.

How best to find all Cases for which a given (or multiple) ProgressDates are not present? That is, I’m trying to code a search form where an admin user can select 1 or more ProgressDates and see all Cases for which that relationship does not exist - “show me all Cases for which there is no ‘Paperwork Received’ and no ‘Received Approval’”, for example. TIA for any thoughts.