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.8.tar.gz (42.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.8-py3-none-any.whl (43.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: watney-3.0.8.tar.gz
  • Upload date:
  • Size: 42.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.8.tar.gz
Algorithm Hash digest
SHA256 68f647f21d92072c21482f83f51c43ea68f6fb02f6c9705f609c8c89b728f3d4
MD5 6ae7b81d594ce540da1102c5e724caad
BLAKE2b-256 0bc6af36c0fde647542f94f4e99eb77e2d6f0e07a2bd6f90fe9c05d0cf5e064f

See more details on using hashes here.

Provenance

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

File metadata

  • Download URL: watney-3.0.8-py3-none-any.whl
  • Upload date:
  • Size: 43.5 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.8-py3-none-any.whl
Algorithm Hash digest
SHA256 6fdabd69d219a037e22ee46d3b383df6d710383c4f0820c1e992167a30d36222
MD5 0bd0e51522fc366c568ee012e05f47c4
BLAKE2b-256 48bb12c75f8aa8aadbf23aa7d7a86776c7c7f039d1298f5482a172fa05cd3cf5

See more details on using hashes here.

Provenance

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