-
Notifications
You must be signed in to change notification settings - Fork 0
Level 1+ Reviews and Changes Requested
The Level 1 Reviews page explains how reviews with only one level work, which is a subset of how a review with more levels (per stage) should work.
The aim of this page is to outline the structure changes and flows:
- Reviewer (Level 1) - reviewing an application
- Reviewer (Level 1) - submitting
ConformorNon Conformadvise higher level reviewer - Reviewer (Level 2) - reviewing the lower level review and
agreewith all advised decisions - Reviewer (Level 2) - submitting a review decision - if user has
is_last_levelwill send back to Applicant whenLOQ (List of Questions)or change outcome and stage when submittingNon ConformorConform. If consolidation notis_last_levelsubmission of review goes to upper level reviewer (e.g. Level 3) and the same process repeats for Level 2 and Level 3 reveiwers.
- Reviewer (Level 1) - reviewing an application
- Reviewer (Level 1) - submitting
ConformorNon Conformadvise higher level reviewer - Reviewer (Level 2) - consolidatting lower level review(s) and
disagreewith some advised decisions - Reviewer (Level 2) - submitting
Changes Requestedback to reviewer (e.g. Level 1) - Reviewer (Level 1) - makes changes in response to
Changes Requestedand re-submit to upper level reviewer.

- There is just one specific progress-bar on consolidation which considers only (one or many) lower level reviews agreement/disagreements (
consolidationProgress). - On the consolidation, each element
statehas:- the decision done in this current consolidation in
thisReviewLatestResponse - the decision done in a previous consolidation (if any) in
thisReviewPreviousResponseto track changes between this and a previous consolidation (of the same user)
- the decision done in this current consolidation in
- On the consolidation, each element
stateit can only have one lower level review:- the
lowerLevelReviewlatestResponseis the latest decision submitted (or unchanged) from a lower level review - and
lowerLevelReviewPreviousResponseto track changes between the latest submitted review and this one (after changes-requested to lower level reviewer)
- the
-
TODO: Not really sure exact the current use of
latestOriginalReviewResponseandpreviousOriginalReviewResponseso will wait for feedback to complete this one....
- The progress for a first-review (if no changes-requested) is done only with (
reviewProgress) - If some changes requested:
- used both
reviewProgressandchangeRequestsProgressto track review progress - each element
statehasisChangeRequestandisChanged(if one of the change-requested) to track if changes are done
- used both
- On the review, similarly to consolidation each element
statehas:- the decision done in this current review in
thisReviewLatestResponse - the decision done in a previous review (if any) in
thisReviewPreviousResponseto track changes between this and a previous review (of the same user)
- the decision done in this current review in
- To find the consolidator change-requested to this reviewer:
- if it is stored inside
thisReviewPreviousResponse(when review is in DRAFT) orthisReviewLatestResponse(if review in CHANGES_REQUESTED hasn't started)
- if it is stored inside
When an upper level reviewer disagrees with some decision on a lower level it needs to be changed by the lower level reviewer on a new review.
The consolidation needs to happen again and be in agreement so it can be sent to Applicant (with Reviewer Level 1 comments) in the form of LOQ (List of Questions).
Currently we don't allow submitting directly to Applicant when there is a disagreement.
- The following changes are done through work of Actions plugins.
- After
assignmentorself-assignmenthappens (more details about this in Assignment Process) - On review level 1 start:
- creates new
reviewwith statusDRAFT - create
review_responsewith statusDRAFTfor eachreview_question_assignmentassociated toapplication_response - in the list of applications the action
CONTINUE_REVIEWis available for this user now
- creates new
- On review level 1 submission:
- trim
review_responsesthat have been created but not reviewed by user - update remaining
review_responsestatus toSUBMITTED - update
reviewstatus toSUBMITTED - create new
review_assignmentfor each user that can do reviewer level 2 - in the list of applications the action
VIEW_REVIEWis available for this user now (review is not editable)
- trim
- On review level 2 self-assign:
- update
review_assignmentstatusASSIGNED - create
review_question_assignmentto eachreview_responsethat have latest status asSUBMITTED(to get only from submitted reviews) - in the list of applications the action
START_REVIEWis available for this user
- update
- On review level 2 start:
- creates new
reviewwith status asDRAFT - create
review_responsewith statusDRAFTfor eachreview_question_assignmentassociated toreview_response - in the list of applications the action
CONTINUE_REVIEWis available for this user now
- creates new
- On review level 2 submission:
- trim
review_responsethat have been created but not reviewed by user - update other
review_responsestatus toSUBMITTED - update
reviewstatus toSUBMITTED - update reviews with associated
review_response(byreview_response_link_id) that have decision ofdisagreeby level 2 reviewer with status toCHANGES_REQUESTED - in the list of applications the action
VIEW_REVIEWis available for this user now (review is not editable) - in the list of applications the action
UPDATE_REVIEWis available for users owner of the Review with statusCHANGES_REQUESTED
- trim
- On review level 1 update:
- creates new
reviewwith status asDRAFT - create
review_responsewith statusDRAFTduplicating lastestreview_responsewith statusSUBMITTEDfrom this user - in the list of applications the action
CONTINUE_REVIEWis available for this user now
- creates new
- On review level 1 submission:
- trim
review_responsesthat are duplicated and not changed - update
reviewstatus toSUBMITTED - update other
reviewof level 2 withreview_question_assignmentassociated toreview_responsestatus toPENDING - in the list of applications the action
VIEW_REVIEWis available for this user now (review is not editable) - in the list of applications the action
RESTART_REVIEWis available for users owner of the Review with statusPENDING
- trim
- Fetches actions and calculates progress of review (from application) or review with changes requested
- GraphQL mutation to create review responses - linked to another review or to application response
- GraphQL mutation to update
review_responseandreview_decison - Validates submission of review and give options to submmit based on
is_last_leveland if review is level 1+ - GraphQL mutation to request submission of review
Similart to what was in previous Level 1 Reviews, but considering review of review.
First review validation in more details on Level 1 Review and LOQ.
When review is updated as a result of Changes Requested by a Level 1+ reviewer, it can only be submitted if general validation passes AND all questions with change requests have been changed.
Logic to check validation of a changes-requested review is:
-
thisReviewLastestResponseis different tothisReviewPreviousResponsethat has some associatedreviewResponse.reviewResponseLinkIdwith decision ofdisagree. This is more easily validated with fieldsisChangeRequestandisChangedin the 'state' of each element.
Logic to check validation is:
- On
disagreementit will create a changes-requested decision and be submitted back to other reviewers - If all
agreementand every decision isconformthen the decision can only beConform, the application goes to the next stage - and Applicant would receive a message informing that (not implemented). - If all
agreementand some decision isnon-conformthen the decision can be eitherLOQor and submitted back to Applicant for changes. Or decision isNon-conformwhich should change the outcome and Applicant would receive a message informing that (not implemented).

Powered by mSupply