There are numerous measures which can be taken to minimize the amount of Queries which needs to be sent to Sites (assuming that you are running a DataFax paper-based study). Things like a clear CRF design, proper Site training, early Feedback on any Data Management issues, etc. will all help to minimize the amount of Queries. Sometimes underestimated, but proper programming of your Edit Checks might also be very helpful in minimizing Queries.
It’s all too easy to say, “OK, there is a problem, let’s fire a Query.”. But do you know, or I should say, does your Edit Check know, that a given Field has already an open Query for a similar problem? Or perhaps an open Query for a completely unrelated issues, which might in itself lead to the Field being updated, and perhaps making this new Query Obsolete ? Like when a Date Field with an illegal value, which will trigger a Query for the Field being illegal. But the illegal value might in itself trigger another Query as the Field, say Date of Informed Consent, might now fall after Date of First Visit. So either you sent out the two Queries at once (#1 for illegal Date of IC and #2 for Date of IC falling after First Visit), or you wait until #1 is resolved, until you decide if #2 still makes sense (or has been resolved by now). A feature we call “Phased Triggering”.
And to make it even more complex, if you have an Edit Check involving two ore more Fields (perhaps on a different page), do you, better again, does your Edit Check, take into account that the Field on the other CRF page might get updated because of an outstanding Query. Or does your Edit Check take into account that perhaps the other CRF page hasn’t gone through the second Data-Entry pass ?
The Solution
Let’s expand on the earlier example of Date of Informed Consent (“INDTC”) <= Date of First Visit (“VSTDTC”). Assuming that there are other Edit Checks taking care of each the Fields having a value and the value also being within Legal range, we have a whole list of Skip rules built into each Edit Check. So whenever any of the followign conditions is met, the Edit Checks skips (“return()”):
* the CRF page with INDTC hasn't reached a sufficient validation level (then we will wait until it has)
* INDTC is missing or illegal (then we will wait until it has been updated)
* INDTC has an unresolved query for something else (then we will wait until it has been resolved)
* the CRF page with VSTDTC hasn't been received or hasn't reached a sufficient validation level (then we will wait until it has)
* VSTDTC is missing or illegal (then we will wait until it has been updated)
* VSTDTC has an unresolved query for something else (then we will wait until it has been resolved)