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:
- Enter your username
- Provide the path to your extraction CSV
- WATNEY will persist this configuration locally
- 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:
- Select a systemic therapy agent
- 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file watney-3.0.9.tar.gz.
File metadata
- Download URL: watney-3.0.9.tar.gz
- Upload date:
- Size: 42.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f52593ee08d14b64ca4ec3c22a5cf4cb7ccd2104f68710712d85f1305f30a6b4
|
|
| MD5 |
828752267ceb8877e961faf7d7b0efd2
|
|
| BLAKE2b-256 |
5c102f21ff18e2ae86bb88244f61e12819f6538672006c203fb86b2598811aeb
|
Provenance
The following attestation bundles were made for watney-3.0.9.tar.gz:
Publisher:
publish.yml on justin-vinh/watney_project
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
watney-3.0.9.tar.gz -
Subject digest:
f52593ee08d14b64ca4ec3c22a5cf4cb7ccd2104f68710712d85f1305f30a6b4 - Sigstore transparency entry: 1569367872
- Sigstore integration time:
-
Permalink:
justin-vinh/watney_project@68eb53507a46e669326a4f6448563250313689ab -
Branch / Tag:
refs/tags/v3.0.9 - Owner: https://github.com/justin-vinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@68eb53507a46e669326a4f6448563250313689ab -
Trigger Event:
push
-
Statement type:
File details
Details for the file watney-3.0.9-py3-none-any.whl.
File metadata
- Download URL: watney-3.0.9-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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2efa3aea77c31c39738e3574557f447a226190e9c657b5a34354b10130b16981
|
|
| MD5 |
e883ff66b391350f4c124b1169f26454
|
|
| BLAKE2b-256 |
e921acad72ff247d4781ac1d367548f91370ee90aecf875ce070eaf0377c7ab1
|
Provenance
The following attestation bundles were made for watney-3.0.9-py3-none-any.whl:
Publisher:
publish.yml on justin-vinh/watney_project
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
watney-3.0.9-py3-none-any.whl -
Subject digest:
2efa3aea77c31c39738e3574557f447a226190e9c657b5a34354b10130b16981 - Sigstore transparency entry: 1569367961
- Sigstore integration time:
-
Permalink:
justin-vinh/watney_project@68eb53507a46e669326a4f6448563250313689ab -
Branch / Tag:
refs/tags/v3.0.9 - Owner: https://github.com/justin-vinh
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@68eb53507a46e669326a4f6448563250313689ab -
Trigger Event:
push
-
Statement type: