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-4.0.1.tar.gz (40.2 kB view details)

Uploaded Source

Built Distribution

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

watney-4.0.1-py3-none-any.whl (41.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for watney-4.0.1.tar.gz
Algorithm Hash digest
SHA256 0592ead9414f20f843a62291bbeec59fa38135eaf425060141b14db46000950e
MD5 d5e462d5e3145c870d4e483adc2d9c8d
BLAKE2b-256 a3748b26e3affdb3b67ee01ca8f525a6ec8288c17f2da77fb799f6d30a5bbc6d

See more details on using hashes here.

Provenance

The following attestation bundles were made for watney-4.0.1.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-4.0.1-py3-none-any.whl.

File metadata

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

File hashes

Hashes for watney-4.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8f2a68465479faccb182e0628cefed4c060f20f9cb71fec3d0fb04e378ebd866
MD5 69e4a5a94be265aa2e691856407a39cc
BLAKE2b-256 05242dbc4478dea41290b1867b2e2f744c4c51b2563471a43ded46295326c0fb

See more details on using hashes here.

Provenance

The following attestation bundles were made for watney-4.0.1-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