Query if all approvals on a work item have been approved
![](http://jazz.net/_images/myphoto/8ff265ad51b906f3b3a0bacb7cccd66e.jpg)
2 answers
![](http://jazz.net/_images/myphoto/8ff265ad51b906f3b3a0bacb7cccd66e.jpg)
When I tried queries for approvals way back, my experience was, that I could not get the behavior and results I wanted. Especially when there where multiple approvals on a work item. It is also unclear what the underlying interpretation of multiple approvals of the same or different approval types would really mean. Next issue is how to track and make sure that this is not broken downstream.
It is quite easy to create approval data that does not seem to make sense to a human. You can come up with many different interpretation what that data even means. Relationships between approvals of different types etc.
I have worked with another customer and implemented pre-conditions to make sure it is impossible to enter inconsistent data - based on the customers interpretation of review and approval record. The first thing I prevented was creating multiple approval records of the same type. Another rule was to prevent approvals as long as the review was not approved.
So, I am not optimistic you will get the results you want. The query capabilities are just not advanced enough to express things like status of the latest approval or anything remotely close to what would be required in all the possible situations.