pyaki

Python package to detect AKI within time series data.

https://github.com/aidh-ms/pyaki

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 5 DOI reference(s) in README
  • Academic publication links
    Links to: plos.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.8%) to scientific vocabulary

Keywords

aki disease-detection health intensive-care
Last synced: 10 months ago · JSON representation ·

Repository

Python package to detect AKI within time series data.

Basic Info
  • Host: GitHub
  • Owner: aidh-ms
  • License: mit
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 3.63 MB
Statistics
  • Stars: 5
  • Watchers: 3
  • Forks: 0
  • Open Issues: 4
  • Releases: 13
Topics
aki disease-detection health intensive-care
Created about 3 years ago · Last pushed 10 months ago
Metadata Files
Readme License Citation Authors

README.md

Coverage Status

pyAKI

Python package to detect AKI within time series data.

The goal of this package is to establish well tested, comprehensive functions for the detection of Acute Kidney Injury (AKI) in time series data, according to the Kidney Disease Improving Global Outcomes (KDIGO) Criteria, established in 2012 [^kdigo].

For more information, see the documentation.

Installation

You can install the pyAKI package from PyPI or from source.

Frm PyPI: shell pip install pyAKI

From source: shell pip install git+https://github.com/aidh-ms/pyAKI

Usage

```python import pandas as pd

from pyaki.probes import Dataset, DatasetType from pyaki.kdigo import Analyser

data = [ Dataset(DatasetType.URINEOUTPUT, pd.DataFrame()), Dataset(DatasetType.CREATININE, pd.DataFrame()), Dataset(DatasetType.DEMOGRAPHICS, pd.DataFrame()), Dataset(DatasetType.RRT, pd.DataFrame()), ]

analyser = Analyser(data) results: pd.DataFrame = analyser.process_stays() ```

Contributing

Getting Started

[!NOTE] Use the included dev container to automatically install all the necessary dev tools and dependencies. To use this you first need to install docker under Linux or WSL2 under windows.

  1. Clone the repository: bash git clone git+https://github.com/aidh-ms/pyAKI cd pyAKI

  2. Open the project in Visual Studio Code: bash code .

  3. Reopen in Container:

    • Press F1 to open the command palette.
    • Type Remote-Containers: Reopen in Container and select it.
    • VS Code will build the Docker container defined in the .devcontainer folder and open the project inside the container.

Tests

To test your contribution, you can use the testing tap in the VS code or utilise the following command to run the unit tests for this project:

shell poetry run pytest .

Acknowledgement

We encourage all users to use pyAKI in their scientific work. Doing so, please use the following citation. Our paper can be found on PLOS One. ``` @article{10.1371/journal.pone.0315325, doi = {10.1371/journal.pone.0315325}, author = {Porschen, Christian AND Ernsting, Jan AND Brauckmann, Paul AND Weiss, Raphael AND Würdemann, Till AND Booke, Hendrik AND Amini, Wida AND Maidowski, Ludwig AND Risse, Benjamin AND Hahn, Tim AND von Groote, Thilo}, journal = {PLOS ONE}, publisher = {Public Library of Science}, title = {pyAKI—An open source solution to automated acute kidney injury classification}, year = {2025}, month = {01}, volume = {20}, url = {https://doi.org/10.1371/journal.pone.0315325}, pages = {1-14}, abstract = {Objective Acute kidney injury (AKI) is a frequent complication in critically ill patients, affecting up to 50% of patients in the intensive care units. The lack of standardized and open-source tools for applying the Kidney Disease Improving Global Outcomes (KDIGO) criteria to time series, requires researchers to implement classification algorithms of their own which is resource intensive and might impact study quality by introducing different interpretations of edge cases. This project introduces pyAKI, an open-source pipeline addressing this gap by providing a comprehensive solution for consistent KDIGO criteria implementation. Materials and methods The pyAKI pipeline was developed and validated using a subset of the Medical Information Mart for Intensive Care (MIMIC)-IV database, a commonly used database in critical care research. We constructed a standardized data model in order to ensure reproducibility. PyAKI implements the Kidney Disease: Improving Global Outcomes (KDIGO) guideline on AKI diagnosis. After implementation of the diagnostic algorithm, using both serum creatinine and urinary output data, pyAKI was tested on a subset of patients and diagnostic accuracy was compared in a comparative analysis against annotations by physicians. Results Validation against expert annotations demonstrated pyAKI’s robust performance in implementing KDIGO criteria. Comparative analysis revealed its ability to surpass the quality of human labels with an accuracy of 1.0 in all categories. Discussion The pyAKI pipeline is the first open-source solution for implementing KDIGO criteria in time series data. It provides a standardized data model and a comprehensive solution for consistent AKI classification in research applications for clinicians and data scientists working with AKI data. The pipeline’s high accuracy make it a valuable tool for clinical research and decision support systems. Conclusion This work introduces pyAKI as an open-source solution for implementing the KDIGO criteria for AKI diagnosis using time series data with high accuracy and performance.}, number = {1},

} ```

[^kdigo]: Improving Global Outcomes (KDIGO) Acute Kidney Injury Work Group. KDIGO Clinical Practice Guideline for Acute Kidney Injury. Kidney inter., Suppl. 2012; 2: 1–138.

Owner

  • Name: AIDH MS
  • Login: aidh-ms
  • Kind: organization
  • Email: christian.porschen@ukmuenster.de
  • Location: Germany

Anaesthesiology and Intensive Care Digital Health Münster

Citation (CITATION.cff)

cff-version: 1.2.0
title: pyAKI
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Christian
    family-names: Porschen
    email: c_pors01@uni-muenster.de
    affiliation: Universität Münster
    orcid: 'https://orcid.org/0000-0001-5355-4531'
  - given-names: Jan
    family-names: Ernsting
  - given-names: Paul
    family-names: Brauckmann
identifiers:
  - type: url
    value: 'https://github.com/aidh-ms/pyAKI/releases/tag/v0.1.0'
repository-code: 'https://github.com/aidh-ms/pyAKI/'
abstract: Python package to detect AKI within time series data.
keywords:
  - aki
  - disease detection
license: MIT
commit: 49be7db
version: 0.1.0
date-released: '2023-09-25'

GitHub Events

Total
  • Create event: 130
  • Issues event: 12
  • Release event: 11
  • Watch event: 1
  • Delete event: 110
  • Member event: 1
  • Issue comment event: 173
  • Push event: 164
  • Pull request review comment event: 17
  • Pull request review event: 120
  • Pull request event: 244
Last Year
  • Create event: 130
  • Issues event: 12
  • Release event: 11
  • Watch event: 1
  • Delete event: 110
  • Member event: 1
  • Issue comment event: 173
  • Push event: 164
  • Pull request review comment event: 17
  • Pull request review event: 120
  • Pull request event: 244

Issues and Pull Requests

Last synced: 10 months ago

All Time
  • Total issues: 8
  • Total pull requests: 146
  • Average time to close issues: 6 months
  • Average time to close pull requests: 2 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.13
  • Average comments per pull request: 0.86
  • Merged pull requests: 105
  • Bot issues: 0
  • Bot pull requests: 128
Past Year
  • Issues: 6
  • Pull requests: 129
  • Average time to close issues: 16 days
  • Average time to close pull requests: about 22 hours
  • Issue authors: 2
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.81
  • Merged pull requests: 101
  • Bot issues: 0
  • Bot pull requests: 111
Top Authors
Issue Authors
  • Paul-B98 (4)
  • tieuanhanh (2)
  • aegis301 (2)
Pull Request Authors
  • dependabot[bot] (130)
  • Paul-B98 (17)
  • tieuanhanh (1)
Top Labels
Issue Labels
bug (1) documentation (1) v1.0 (1)
Pull Request Labels
dependencies (129) python (127) github_actions (2)

Dependencies

requirements.txt pypi
  • black ==23.3.0
  • click ==8.1.3
  • exceptiongroup ==1.1.1
  • iniconfig ==2.0.0
  • mypy-extensions ==1.0.0
  • numpy ==1.24.3
  • packaging ==23.1
  • pandas ==2.0.1
  • pathspec ==0.11.1
  • platformdirs ==3.5.1
  • pluggy ==1.0.0
  • pytest ==7.3.1
  • python-dateutil ==2.8.2
  • pytz ==2023.3
  • scipy ==1.10.1
  • six ==1.16.0
  • tomli ==2.0.1
  • typing_extensions ==4.5.0
  • tzdata ==2023.3
.github/workflows/lint_and_test.yml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
setup.py pypi