Created
June 1, 2026 10:58
-
-
Save mherman22/3a0974fcf65c9ed1d8482b4126ae6979 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Feature: Vector Pool Deconvolution Workflow | |
| As a lab technician or supervisor | |
| I want to manage vector pool testing through deconvolution | |
| So that I can identify which individual organisms in a pool carry a pathogen | |
| Background: | |
| Given a vector order exists with accession number "DEV01260000000000001" | |
| And the order contains a pool of 6 mosquitoes | |
| And the pool panel includes "Malaria Parasite Detection" and "Dengue Virus Detection" | |
| And the lab technician is logged in with RESULTS role | |
| # ───────────────────────────────────────────────────────────── | |
| # RESULTS ENTRY | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Pool-level tests display as pool cluster in Results Entry before confirmation | |
| Given pool-level results have NOT been confirmed for any vector | |
| When the technician opens Results Entry for "DEV01260000000000001" | |
| Then "Malaria Parasite Detection" is displayed as "Pool of 6 Mosquito" | |
| And "Dengue Virus Detection" is displayed as "Pool of 6 Mosquito" | |
| Scenario: Confirmed test displays as flat individual rows in Results Entry | |
| Given "Malaria Parasite Detection" result has been entered as Positive | |
| And "Malaria Parasite Detection" has been confirmed for all 6 vectors | |
| When the technician opens Results Entry for "DEV01260000000000001" | |
| Then "Malaria Parasite Detection" displays as 6 individual flat rows | |
| And no "Pool of 6" label appears for "Malaria Parasite Detection" | |
| And "Dengue Virus Detection" still displays as "Pool of 6 Mosquito" | |
| Scenario: Partially confirmed pool shows mixed display | |
| Given "Malaria Parasite Detection" has been confirmed for all 6 vectors | |
| And "Dengue Virus Detection" has NOT been confirmed | |
| When the technician opens Results Entry for "DEV01260000000000001" | |
| Then "Malaria Parasite Detection" shows as 6 individual flat rows | |
| And "Dengue Virus Detection" shows as "Pool of 6 Mosquito" | |
| # ───────────────────────────────────────────────────────────── | |
| # CONFIRMATION BANNER | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Partial confirmation banner appears after first test is confirmed | |
| Given "Malaria Parasite Detection" has been entered as Positive | |
| And "Dengue Virus Detection" has been entered as Positive | |
| When the technician confirms "Malaria Parasite Detection" for all 6 vectors | |
| Then a green "Results Partially Confirmed" banner appears on the lot | |
| And the banner shows "✓ Malaria Parasite Detection: Positive" | |
| And "Dengue Virus Detection" is NOT listed in the banner | |
| Scenario: Banner updates when second test is confirmed | |
| Given "Malaria Parasite Detection" has already been confirmed for all 6 vectors | |
| And "Dengue Virus Detection" has been confirmed for all 6 vectors | |
| Then the green banner shows both: | |
| | Test | Result | | |
| | Malaria Parasite Detection | Positive | | |
| | Dengue Virus Detection | Positive | | |
| # ───────────────────────────────────────────────────────────── | |
| # VALIDATION SCREEN | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Validation screen shows pool-level analyses before confirmation | |
| Given "Malaria Parasite Detection" has been entered as Positive at pool level | |
| And no confirmation has been performed | |
| When the validator searches "DEV01260000000000001" on the Validation screen | |
| Then "Malaria Parasite Detection" appears as a pool-level row awaiting sign-off | |
| And no individual member-level rows are shown for that test | |
| Scenario: Validation screen shows individual member analyses after confirmation | |
| Given "Malaria Parasite Detection" has been validated and confirmed for all 6 vectors | |
| When the validator searches "DEV01260000000000001" on the Validation screen | |
| Then 6 individual rows for "Malaria Parasite Detection" appear for sign-off | |
| And the pool-level "Malaria Parasite Detection" row is no longer shown | |
| Scenario: Validator can accept a pool-level result without errors | |
| Given "Dengue Virus Detection" has been entered as Positive at pool level | |
| When the validator accepts "Dengue Virus Detection" on the Validation screen | |
| Then the analysis status becomes Finalized | |
| And no system error occurs | |
| # ───────────────────────────────────────────────────────────── | |
| # DECONVOLUTION WORKLIST | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Deconvolution worklist shows all pools by default | |
| Given multiple pools exist with statuses PENDING, IN_PROGRESS, and COMPLETE | |
| When the supervisor opens the Deconvolution worklist | |
| And the status filter is set to "All" | |
| Then pools with status PENDING are visible | |
| And pools with status IN_PROGRESS are visible | |
| And pools with status COMPLETE are visible | |
| Scenario: Deconvolution worklist can be filtered by status | |
| Given multiple pools exist with statuses PENDING, IN_PROGRESS, and COMPLETE | |
| When the supervisor filters by "Pending" | |
| Then only PENDING pools are shown | |
| And IN_PROGRESS and COMPLETE pools are not shown | |
| Scenario: Deconvolution worklist can filter to show only completed pools | |
| Given multiple pools exist with different statuses | |
| When the supervisor filters by "Complete" | |
| Then only COMPLETE pools are shown | |
| # ───────────────────────────────────────────────────────────── | |
| # SPLIT MODAL — TEST SELECTION | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Split modal shows only unconfirmed tests pre-checked | |
| Given "Malaria Parasite Detection" has been confirmed for all 6 vectors | |
| And "Dengue Virus Detection" has NOT been confirmed | |
| When the technician opens the split panel for the pool | |
| Then "Dengue Virus Detection" appears as a pre-checked checkbox | |
| And "Malaria Parasite Detection" does NOT appear in the checklist | |
| — it is already confirmed for every vector | |
| Scenario: Split modal shows available panel tests that are not yet on the pool | |
| Given the pool panel includes tests not yet assigned to the pool | |
| When the technician opens the split panel | |
| Then an "Add from panel" section appears | |
| And it lists panel tests that are not currently on the pool | |
| And those tests appear as unchecked checkboxes | |
| Scenario: Technician can exclude a test from sub-pools by unchecking it | |
| Given "Dengue Virus Detection" appears pre-checked in the split modal | |
| When the technician unchecks "Dengue Virus Detection" | |
| And saves the split | |
| Then sub-pools do NOT inherit "Dengue Virus Detection" | |
| Scenario: Technician can add a panel test to sub-pools during splitting | |
| Given "Zika Virus Detection" appears in the "Add from panel" section | |
| And "Zika Virus Detection" is currently unchecked | |
| When the technician checks "Zika Virus Detection" | |
| And saves the split | |
| Then each sub-pool receives a "Zika Virus Detection" analysis | |
| Scenario: Split with default selection carries all unconfirmed tests to sub-pools | |
| Given "Dengue Virus Detection" and "Zika Virus Detection" are unconfirmed | |
| And the technician opens the split panel without changing any selections | |
| When the technician saves the split into 2 sub-pools of 3 | |
| Then each sub-pool inherits "Dengue Virus Detection" | |
| And each sub-pool inherits "Zika Virus Detection" | |
| And "Malaria Parasite Detection" (already confirmed) is NOT duplicated | |
| # ───────────────────────────────────────────────────────────── | |
| # QA REVIEW PAGE | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: QA review page shows panel tests grouped under their panel name | |
| Given the pool is ordered with a panel "Vector Mosquito Panel" | |
| And the panel contains "Malaria Parasite Detection" and "Dengue Virus Detection" | |
| When the supervisor views the QA review page for this order | |
| Then "Vector Mosquito Panel" panel header is visible | |
| And "Malaria Parasite Detection" is listed indented under it | |
| And "Dengue Virus Detection" is listed indented under it | |
| # ───────────────────────────────────────────────────────────── | |
| # ORDER ENTRY — POOL VIEW | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Order page groups vectors by pool after fan-out | |
| Given a vector order with a pool of 6 mosquitoes has been submitted | |
| When the technician opens the order's Enter page | |
| Then the page shows "Pool of 6 Mosquitoes" as a grouped tile | |
| And individual mosquito specimens are not listed separately | |
| # ───────────────────────────────────────────────────────────── | |
| # CONFIRM RESULTS — PER-RESULT | |
| # ───────────────────────────────────────────────────────────── | |
| Scenario: Confirm buttons appear per-test in an expandable sub-row | |
| Given results have been entered for "Malaria Parasite Detection" and "Dengue Virus Detection" | |
| And neither test has been confirmed | |
| When the technician clicks "Review results (2)" on the pool row | |
| Then a sub-row expands showing: | |
| | Test | Result | Action | | |
| | Malaria Parasite Detection | Positive | [Confirm] | | |
| | Dengue Virus Detection | Positive | [Confirm] | | |
| Scenario: Confirming one test does not confirm the other | |
| Given the "Review results" sub-row is open | |
| When the technician clicks "Confirm" for "Malaria Parasite Detection" | |
| Then "Malaria Parasite Detection" is confirmed for all 6 vectors | |
| And the "Confirm" button for "Dengue Virus Detection" remains visible |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment