At a basic level, this can be done by embedding a (hidden) status field in the form. A QA application can then filter out those records that have come in as 'new' and revise the status. You could further set up the Inbox to receive 'rejected' status submissions for field workers to revise (either with the same form or a revision form). The same could hold true for comments - have a QA comments field not present in the original form, but viewable (read only?) in a revision form.