https://github.com/bayer-group/phenex

https://github.com/bayer-group/phenex

Science Score: 26.0%

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

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.8%) to scientific vocabulary

Keywords

beat-undefined
Last synced: 9 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: Bayer-Group
  • License: bsd-3-clause
  • Language: Python
  • Default Branch: main
  • Size: 8.78 MB
Statistics
  • Stars: 7
  • Watchers: 0
  • Forks: 3
  • Open Issues: 19
  • Releases: 16
Topics
beat-undefined
Created over 1 year ago · Last pushed 9 months ago
Metadata Files
Readme Contributing License Codeowners Roadmap

README.md

PhenEx: Automatic PHENotype EXtractor

PhenEx Logo

What is PhenEx?

PhenEx -- pronouned "Phoenix" -- is a cutting-edge cohort builder designed to simplify the extraction of analysis-ready datasets from raw real-world data as part of observational study execution. Using a meta-language closely aligned to plain English, PhenEx allows you to define and calculate index dates, inclusion and exclusion criteria, baseline characteristics, and outcome event tables based on arbitrarily complex criteria.

Questions you can answer using PhenEx include, but are not limited to:

  • What is the incidence of diabetes among patients aged 50-70?
  • How many patients with a history of stroke have also had a diagnosis of atrial fibrillation and prescribed anticoagulants?
  • What are the common comorbidities observed in patients with hypertension?
  • How do medication adherence rates compare between different patient demographics? 0 What proportion of patients who have been diagnosed with breast cancer receive genetic testing for BRCA1 and BRCA2 mutations?
  • Among patients treated for acute myocardial infarction (AMI), how many have been re-admitted to the hospital within six months for heart-related issues? What is the incidence of diabetes among patients aged 50-70?
  • How many patients with a diagnosis of rheumatoid arthritis have been prescribed at least three different disease-modifying antirheumatic drugs (DMARDs) over their treatment history?

Who is PhenEx for?

PhenEx is for anyone seeking to analyze real-world patient data, such as claims, electronic health records or disease registries.

  • Pharmaceutical and Biotech Companies: Accelerate drug development and market access strategies. PhenEx helps you identify patient populations for clinical trials, analyze real-world treatment patterns, and assess the safety and efficacy of new therapies.
  • Epidemiologists and Public Health Professionals: Conduct comprehensive epidemiological studies and public health surveillance. PhenEx enables you to define and extract complex phenotypes, track health outcomes, and respond to public health challenges effectively.
  • Data Scientists and Analysts: Simplify the process of data extraction and cohort building. PhenEx provides powerful tools to transform raw data into structured, analysis-ready datasets, enabling you to focus on generating actionable insights.

Why should I use PhenEx?

  1. PhenEx is free, open-source and interoperable with a large number of data warehouse backends. Regardless of where you host your data, you can use PhenEx to extract cohorts from it.

  2. PhenEx is data format agnostic. Whether your data is in the OMOP Common Data Model or something else, PhenEx can handle it with only minimal compatibility transformations. The most common data formats are already built-in and understood by PhenEx.

  3. PhenEx supports complex phenotypes. PhenEx covers not only basic use cases but also handles arbitrarily complex phenotypes (e.g. ISTH major bleeding, CHADSVASc). With PhenEx, you can define and extract intricate phenotypes, empowering you to tackle a wide range of research questions.

  4. PhenEx is extensible. If your phenotype is not covered by the existing classes, you can easily create your own implementation using the provided abstract base classes. If you encounter a common pattern that is missing, simply open an issue, and we'll be delighted to consider it for inclusion in the core packages.

  5. PhenEx is scalable. Whether you have a simple feasibility analysis or a full-blown research protocol with 20 inclusion criteria and 100 baseline characteristics, PhenEx can build your cohort.

What is PhenEx not?

  • PhenEx does not clean your data. Garbage-in-garbage-out, so please invest time in cleaning your data before attempting to perform observational research using it.

  • PhenEx does not perform outcome analysis, e.g., Kaplan-Meier estimation or Cox regressions. PhenEx only prepares the analysis dataset for downstream analysis. For outcome analysis in Python, the lifelines package is a good place to start; in R, the surv package is fairly popular.

I'm convinced! How can I get started?

Head on over to the Official PhenEx Documentation. If you have any questions, please feel free to reach out to any of the developers and we'll be happy to get you on your way.

API Stability

Please note that we are adding features at an intense pace. As a result, we cannot always guarantee backwards compatibility when we're making updates. Sometimes new features require new thinking about how things are done.

Therefore, for the 0.* series of releases we do not guarantee API stability. That means upgrading may break your scripts. We use the convention that 0.X.Y -> 0.X.Z is non-breaking. 0.X.Y -> 0.(X+1).0 may be breaking, but we try to keep breakage to a minimum and "worth it".

If your scripts break upon upgrading, please reach out to one of the developers and we will happily help you. Starting with 1.0, we will not break between minor revisions.

Owner

  • Name: Bayer Open Source
  • Login: Bayer-Group
  • Kind: organization

Science for a better life

GitHub Events

Total
  • Create event: 105
  • Issues event: 30
  • Release event: 15
  • Watch event: 9
  • Delete event: 90
  • Issue comment event: 31
  • Member event: 6
  • Push event: 418
  • Pull request review event: 102
  • Pull request review comment event: 44
  • Pull request event: 161
  • Fork event: 1
Last Year
  • Create event: 105
  • Issues event: 30
  • Release event: 15
  • Watch event: 9
  • Delete event: 90
  • Issue comment event: 31
  • Member event: 6
  • Push event: 418
  • Pull request review event: 102
  • Pull request review comment event: 44
  • Pull request event: 161
  • Fork event: 1

Committers

Last synced: over 1 year ago

All Time
  • Total Commits: 90
  • Total Committers: 3
  • Avg Commits per committer: 30.0
  • Development Distribution Score (DDS): 0.344
Past Year
  • Commits: 90
  • Committers: 3
  • Avg Commits per committer: 30.0
  • Development Distribution Score (DDS): 0.344
Top Committers
Name Email Commits
Stephen Privitera s****a@b****m 59
a-hartens a****n@b****m 30
Lasha 9****i 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 32
  • Total pull requests: 171
  • Average time to close issues: 24 days
  • Average time to close pull requests: 3 days
  • Total issue authors: 3
  • Total pull request authors: 3
  • Average comments per issue: 0.03
  • Average comments per pull request: 0.23
  • Merged pull requests: 126
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 32
  • Pull requests: 171
  • Average time to close issues: 24 days
  • Average time to close pull requests: 3 days
  • Issue authors: 3
  • Pull request authors: 3
  • Average comments per issue: 0.03
  • Average comments per pull request: 0.23
  • Merged pull requests: 126
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • a-hartens (21)
  • sprivite (10)
  • Simone2466 (1)
Pull Request Authors
  • a-hartens (99)
  • sprivite (70)
  • ivanmilevtues (2)
Top Labels
Issue Labels
Pull Request Labels
Minor additions (3) Bug fixes (2) Major additions (1) Not backwards compatible (1)

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 476 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 0
  • Total versions: 13
  • Total maintainers: 1
pypi.org: phenex

PhenEx is a Python package for analysis-ready datasets from real-world data

  • Versions: 13
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 476 Last month
Rankings
Dependent packages count: 10.0%
Average: 33.2%
Dependent repos count: 56.4%
Maintainers (1)
Last synced: 9 months ago

Dependencies

.github/workflows/pypi.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
  • pypa/gh-action-pypi-publish release/v1 composite
requirements.txt pypi
  • black ==24.10.0
  • ibis-framework ==9.5.0
  • pytest *
  • python-dotenv *
  • snowflake-connector-python *
setup.py pypi
.github/workflows/mkdocs.yml actions
  • actions/checkout v3 composite
  • actions/configure-pages v1 composite
  • actions/deploy-pages v3 composite
  • actions/download-artifact v4 composite
  • actions/setup-python v4 composite
  • actions/upload-artifact v4 composite
  • actions/upload-pages-artifact v2 composite
.github/workflows/pytest.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite