JuliaHealth / JuliaHealth/OMOPCommonDataModel.jl

[FEATURE] Advanced Imputation Strategies for Clinical Data (beyond mean/min/max)

Open
#40 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Julia
Stars
6
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Context:
In HealthBase.jl and OMOPCommonDataModel.jl, i had earlier developed an impute_missing function that filled in missing values using basic methods like mean, median, min, max, or mode. This worked for simple examples, but it’s not good enough for real clinical use and is quite a naive approach.

Why this matters:
These simple methods don’t consider the patient’s background (like age, gender, or health conditions). Using them can lead to wrong or biased results, especially when the missing data isn’t random.

What we decided:
After a weekly review meeting with @TheCedarPrince, we decided to remove the current impute_missing function from HealthBase.jl and going forward, we could create smarter and advanced methods (like grouping by patient features) in here.

Example:

ID Age Gender Race Cholesterol
1 29 Male White 180
2 35 Female Asian 195
3 30 Female Asian missing

Naively imputing a missing value using the global mean (example: mean([180, 195]) = 187.5) ignores clinical context. But if we know that patient 3 is a 30-year-old Asian female, we can impute using the average cholesterol value for similar patients (example: other Asian females). In this case, patient 2 is the only match, so we would impute 195 instead of 187.5. This context-aware imputation is more clinically meaningful and avoids introducing bias.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the existing impute_missing function in OMOPCommonDataModel.jl and review its relationship to the earlier HealthBase.jl implementation. The issue does not identify tests or a concrete advanced strategy; the scope and completion criteria need to be defined before implementation can begin.

Written by the indexing model from the issue text.

Assessment

Tech stack
julia
Domain
data
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.