Skip to main content

Interactive NiceGUI oncology annotation platform for reviewing LLM-extracted progression events and systemic therapy timelines.

Project description

WATNEY

WATNEY is an interactive NiceGUI-based oncology annotation platform for reviewing and validating LLM-extracted progression events and systemic therapy timelines from longitudinal clinical notes.

Developed by Justin Vinh at Dana-Farber Cancer Institute.


Features

  • Review LLM-extracted progression events
  • Assign progression events to systemic therapy agents
  • Add clinician-derived progression events manually
  • View longitudinal oncology notes with evidence highlighting
  • Track reviewer annotations in SQLite
  • Export annotations to CSV
  • Multi-user annotation support
  • Persistent configuration and session settings
  • Interactive patient navigation interface

Installation

Install from PyPI

pip install watney

Launching WATNEY

After installation:

watney

This launches the NiceGUI application locally in your browser.


Required Input Data

WATNEY expects a CSV containing:

  • Longitudinal note text
  • LLM extraction JSON
  • Patient identifiers

The following columns are required:

Column Name Description
DFCI_MRN Patient identifier
all_notes Concatenated longitudinal notes
generation LLM-generated JSON extraction

Expected Note Formatting

Notes should contain metadata fields similar to:

Note Number: 1
Note Report ID: REPORT123
Note Date: 2024-01-01
Note Dept: Medical Oncology
Note Author: Jane Smith

Notes should be separated using:

====================

Expected JSON Structure

The generation column should contain JSON with structures similar to:

{
  "systemic_therapy": {
    "agents": [
      {
        "drug_name": "Pembrolizumab",
        "intervals": [
          {
            "start_date": "2023-01-01",
            "end_date": "2023-06-01"
          }
        ]
      }
    ]
  },
  "progression": {
    "progression_events": [
      {
        "progression_date": "2023-07-01",
        "confidence_level": "high",
        "progression_date_rationale": {
          "report_id": "REPORT123",
          "note_date": "2023-07-01",
          "author": "Dr. Smith",
          "text": "Evidence excerpt here"
        }
      }
    ]
  }
}

First-Time Setup

When WATNEY launches:

  1. Enter your username
  2. Provide the path to your extraction CSV
  3. WATNEY will persist this configuration locally
  4. Future launches automatically reload the prior CSV

Configuration is stored in:

./watney_annotations/watney_config.json

Annotation Database

Annotations are automatically stored in SQLite.

Default database location:

./watney_annotations/progression_annotations_database.db

User Workflow

1. Review LLM Progression Events

The left panel displays:

  • Extracted progression dates
  • Confidence levels
  • Supporting evidence
  • Source metadata

2. Navigate to Source Notes

Click:

Source

WATNEY automatically:

  • Navigates to the originating note
  • Scrolls to the evidence
  • Highlights the relevant text

3. Assign Progression Events to Agents

For each progression event:

  1. Select a systemic therapy agent
  2. Click:
Save Agent Assignment

Assignments are immediately persisted to SQLite.


4. Add Clinician-Derived Events

Use:

Add Clinician Progression Event

Fields include:

  • Progression date
  • Agent
  • Evidence
  • Report ID
  • Determined by

5. Export Annotations

Click:

Export

WATNEY exports all annotations as a timestamped CSV.


Navigation Controls

Button Function
Prev Previous patient
Next Next patient
Patient List Open patient navigator
Export Export annotations
Settings Configure paths and database

License

MIT License


Citation

Justin Vinh. WATNEY: Interactive Oncology Annotation Platform.
https://github.com/justin-vinh/watney

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

watney-3.0.3.tar.gz (30.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

watney-3.0.3-py3-none-any.whl (30.4 kB view details)

Uploaded Python 3

File details

Details for the file watney-3.0.3.tar.gz.

File metadata

  • Download URL: watney-3.0.3.tar.gz
  • Upload date:
  • Size: 30.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for watney-3.0.3.tar.gz
Algorithm Hash digest
SHA256 49d20776e245bd985e79f217887bd98d11ca937a2e7d2dda2d397babd4c68984
MD5 34b11243f31e7afe111b9ac8bc750f91
BLAKE2b-256 8443d3f3bd40bc98ec315f2efdd9de77623d2d258ee27dde0f094b66feb80fc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for watney-3.0.3.tar.gz:

Publisher: publish.yml on justin-vinh/watney_project

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file watney-3.0.3-py3-none-any.whl.

File metadata

  • Download URL: watney-3.0.3-py3-none-any.whl
  • Upload date:
  • Size: 30.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for watney-3.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bf3bb86eeb55edef562f583105f3539c6213a2c97c99a38881cad6f949f7ea86
MD5 f590bdf37f4fdd719c978aba4ef18bc1
BLAKE2b-256 fea4931e3a5f01354c88c602d4e6e721d6d612633373e5c97814469483e5ae9c

See more details on using hashes here.

Provenance

The following attestation bundles were made for watney-3.0.3-py3-none-any.whl:

Publisher: publish.yml on justin-vinh/watney_project

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page