Skip to content

Instantly share code, notes, and snippets.

@mherman22
Created June 1, 2026 10:58
Show Gist options
  • Select an option

  • Save mherman22/3a0974fcf65c9ed1d8482b4126ae6979 to your computer and use it in GitHub Desktop.

Select an option

Save mherman22/3a0974fcf65c9ed1d8482b4126ae6979 to your computer and use it in GitHub Desktop.
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